我有两个数据框,第一个有 1000 行,看起来像:
Date Group Family Bonus
2011-06-09 tri23_1 Laavin 456
2011-07-09 hsgç_T2 Grendy 679
2011-09-10 bbbj-1Y_jn Fantol 431
2011-11-02 hsgç_T2 Gondow 569
专栏Group
具有不同的值,有时会重复,但通常大约有 50 个唯一值。
第二个数据框包含所有这 50 个唯一值(50 行)以及与这些值关联的酒店:
Group Hotel
tri23_1 Jamel
hsgç_T2 Frank
bbbj-1Y_jn Luxy
mlkl_781 Grand Hotel
vchs_94 Vancouver
我的目标是替换列中的值Group
第一个数据帧的相应列值Hotel
第二个数据框的/或创建列Hotel
与相应的值。当我试图通过像这样的分配来做到这一点时
df1.loc[(df1.Group=df2.Group), 'Hotel']=df2.Hotel
我有一个错误,数据帧的大小不相等,因此无法进行比较。
如果您将索引设置为另一个 df 上的“Group”列,那么您可以使用替换map在您原来的 df 'Group' 列上:
In [36]:
df['Group'] = df['Group'].map(df1.set_index('Group')['Hotel'])
df
Out[36]:
Date Group Family Bonus
0 2011-06-09 Jamel Laavin 456
1 2011-07-09 Frank Grendy 679
2 2011-09-10 Luxy Fantol 431
3 2011-11-02 Frank Gondow 569
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)