我有一个DataFrame,其中包含“键”和“值”。在另一个datframe中,我只有键。如果键可以匹配,我希望第二个数据框填充新列。最好看一下示例:
df = pd.DataFrame({'text':['bla','bla2','hi'], 'value':['hello','morning','random']})
df1 = pd.DataFrame({'text':['bla','x','hi','y','bla2','hi','bla']})
我希望输出看起来像这样:
df1
text value
0 bla hello
1 x
2 hi random
3 y
4 bla2 morning
5 hi random
6 bla hello
我认为,如果我以df
为键,以text
为值,从value
创建一个字典,这样做是最简单的:y=pd.Series(df.value.values,index=df.text).to_dict()
看起来像这样:y={'bla': 'hello', 'bla2': 'morning', 'hi': 'random'}
但现在我不知道该如何进行“匹配”
答案 0 :(得分:0)
具有Dataframe.merge
功能:
In [70]: df.merge(df1, how='right', on='text').fillna('')
Out[70]:
text value
0 bla hello
1 bla hello
2 bla2 morning
3 hi random
4 hi random
5 x
6 y