将col1与col3合并,以便在col3没有值的地方进行值的第一次输入。
d = {'col1': [1, 2,3, 4, 5],'col2': [12,2332,343,23,143]}
e= {'col3': [3, 4], 'col4': [158,232]}
df = pd.DataFrame(data=d)
df1 = pd.DataFrame(data = e)
df2 = pd.merge(d, e, left_on='col1', right_on='col3', how='left')
df2
df
col1 col2
0 1 12
1 2 2332
2 3 343
3 4 23
4 5 143
df1
col3 col4
0 3 158
1 4 232
它给出:
ValueError: can not merge DataFrame with instance of type <class 'dict'>
我该怎么做?
答案 0 :(得分:0)
您似乎错过了将更改d,e更改为df,df1的变量
>>> pd.merge(df,df1, how='left', left_on='col1', right_on='col3')
col1 col2 col3 col4
0 1 12 NaN NaN
1 2 2332 NaN NaN
2 3 343 3.0 158.0
3 4 23 4.0 232.0
4 5 143 NaN NaN