如何根据熊猫中的其他列添加新列?

阿努巴夫·辛哈

我查看了其他问题,但找不到我想要的。这是我的简短数据集

    Year    Region      value
0   2016    London      31720.0
1   2016    Beijing     502631.0
2   2016    Tokyo       817262.0
3   2016    Bangkok     1021768.0
4   2016    Akihabara   894094.0
5   2017    London      515113.0
6   2017    Beijing     78737.0

现在,我想根据“区域”列添加另外两个新列。这是两列

lat = ["14.6937 ","14.64792 ","14.35806 ","14.10594","14.1825"]
long = ["-17.44406","-16.24363","-16.58583"," -15.5508","-16.25333"]

我想在他们的区域给定的地方添加纬度和经度。另外,该地区还会来很多次,如果有人可以帮助我,那就太好了。

拉贾特·米什拉(Rajat Mishra)

基于这些评论,我假设latlong映射到城市的顺序与在主数据框中出现的顺序相同,即伦敦映射到14.6937和-17.44406。

我可以提取给定年份的城市,并创建一个包含城市,经纬度和经纬度详细信息的新数据框。

In [44]: df = pd.DataFrame({'year':[2016,2016,2016,2016,2016,2017,2017], 
    ...: 'city':['London','Beijing','Tokyo','Bangkok','Akihabara','London','Beijing'], 
    ...: 'value':[560234,557335,6938935,503804,4224,5632,34424]})                                                                                                                                         

In [45]: df                                                                                                                                                                                               
Out[45]: 
   year       city    value
0  2016     London   560234
1  2016    Beijing   557335
2  2016      Tokyo  6938935
3  2016    Bangkok   503804
4  2016  Akihabara     4224
5  2017     London     5632
6  2017    Beijing    34424

In [46]: lat = ["14.6937 ","14.64792 ","14.35806 ","14.10594","14.1825"] 
    ...: long = ["-17.44406","-16.24363","-16.58583"," -15.5508","-16.25333"]                                                                                                                             

In [54]: cities = df['city'].unique().tolist()                                                                                                                                                            
In [56]: cities                                                                                                                                                                                           
Out[56]: ['London', 'Beijing', 'Tokyo', 'Bangkok', 'Akihabara']

In [49]: city_details = pd.DataFrame({'city':cities, 'lat':lat, 'long':long})                                                                                                                               

In [50]: city_details                                                                                                                                                                                     
Out[50]: 
        city        lat       long
0     London   14.6937   -17.44406
1    Beijing  14.64792   -16.24363
2      Tokyo  14.35806   -16.58583
3    Bangkok   14.10594   -15.5508
4  Akihabara    14.1825  -16.25333

有两个带有公用键“ city”的数据框,使用pd.merge(),可以将两个数据框结合起来以获取详细信息。

In [51]: df.merge(city_details,how='inner',on='city')                                                                                                                                                     
Out[51]: 
   year       city    value        lat       long
0  2016     London   560234   14.6937   -17.44406
1  2017     London     5632   14.6937   -17.44406
2  2016    Beijing   557335  14.64792   -16.24363
3  2017    Beijing    34424  14.64792   -16.24363
4  2016      Tokyo  6938935  14.35806   -16.58583
5  2016    Bangkok   503804   14.10594   -15.5508
6  2016  Akihabara     4224    14.1825  -16.25333

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

熊猫根据其他列的值创建新的列ID

根据其他列值在熊猫中添加新列

根据其他数据框向熊猫数据框添加新列

根据其他列的条件在熊猫中创建新列

熊猫根据许多其他列的条件逻辑添加新列

根据熊猫中其他两个列的匹配值创建新列

根据其他列的唯一值的长度在熊猫中创建新列

熊猫-根据其他列中的值将数据添加到列中

熊猫:如何根据其他2列的增量和连续属性来增加新列?

熊猫根据其他列创建和填充新列

熊猫数据框根据其他列是否有数据添加新列

熊猫使用其他列中的值创建新列,并根据列值进行选择

熊猫根据其他列中的条件和值创建新列

熊猫根据其他两列的划分创建新列

熊猫:如何在数据框架中创建新列并考虑其他现有列在其中添加值

根据其他列的值添加新列

如何在运行时根据其他表中的值添加新列?

熊猫:使用其他列的迭代值添加新列

熊猫:根据其他列添加新列

根据熊猫中其他列的值添加具有唯一标识符的列

根据一列的总和添加新列,并按Pandas中的其他2列分组

如何根据数据框的其他列创建新的熊猫列?

根据熊猫数据框中其他列的条件和值创建新列

如何根据其他数据帧的行将新列添加到数据帧中?

在 R 中,如何根据其他列的值从其他列的列标题创建新列

如何根据熊猫中的其他列映射值?

根据带有熊猫的其他列在列中添加随机值

如何根据其他几个变量添加新列

如何根据其他两列中的值在熊猫数据框中添加新列