2 回答
TA貢獻1856條經驗 獲得超5個贊
用 pandas.merge
import pandas as pd
df1 = pd.DataFrame([['Z0', 1],['Z1', 2], ['A7', 3]], columns=['a', 'b'])
a b
0 Z0 1
1 Z1 2
2 A7 3
df2 = pd.DataFrame([['W2', 'asadsde'], ['Z0', 'evrverve'], ['A7', 'eveveerv'], ['Z1', 'jsbdbcje']], columns=['a', 'Description'])
a Description
0 W2 asadsde
1 Z0 evrverve
2 A7 eveveerv
3 Z1 jsbdbcje
df3 = pd.merge(left=df1, right=df2, on='a', )
a b Description
0 Z0 1 evrverve
1 Z1 2 jsbdbcje
2 A7 3 eveveerv
TA貢獻2036條經驗 獲得超8個贊
考慮到這些是您的數據幀:
df1
a b
Z0 1
Z1 2
A7 3
df2
b Description
W2 asadsde
Z0 evrverve
A7 eveveerv
Z1 jsbdbcje
使用map和實現所需輸出的代碼assign:
df1.assign(description = df1['a'].map(dict(df2.values)))
a b description
0 Z0 1 evrverve
1 Z1 2 jsbdbcje
2 A7 3 eveveerv
在 df1 中,如果您只想要匹配的行,則使用dropna:
df1.dropna(inplace=True)
添加回答
舉報
