我想在'word'上合并两个数据框。他们看起来像这样:
df1
bucket = bucket.sort { item -> item.foo }.take(10).filter { item -> item.foo > x }
df2
word other_data
0 hello 1
1 how 2
2 are 3
3 you 4
我想要的结果是这样:
word
0 hello
1 ,
2 how
3 are
4 you
5 ?
与此最接近的是我能得到的结果,但是它会产生不按原始顺序的df。
word other_data
0 hello 1
1 , NaN
2 how 2
3 are 3
4 you 4
5 ? NaN
答案 0 :(得分:0)
您需要的是联接,这是在熊猫购买上完成的,将另一个数据帧的索引设置为所需的键并指定联接操作的键,这很简单:
df2.join(df1.set_index('word'), on='word')
答案 1 :(得分:0)
我认为您想尝试一下。
pd.merge(df1, df2, how='outer', on='word')
外部表示它将创建一系列密钥作为df1和df2中的密钥的并集,而right将仅使用df2中的密钥。
on专门指定要连接的列。
答案 2 :(得分:0)
一种简单的方法是reindex
df=df1.set_index('word').reindex(df2.word).reset_index()
Out[20]:
word other_data
0 hello 1.0
1 , NaN
2 how 2.0
3 are 3.0
4 you 4.0
5 ? NaN