如何在熊猫中有效地合并数据?

时间:2018-06-22 04:26:13

标签: python pandas

我想将一些数据从dfb复制到dfa,以替换dfa中的某些行。

下面是代码。

除了使用for循环(这很慢)之外,代码没有任何问题。

还有其他更快,更有效的方法吗?

谢谢。

import pandas as pd

dfa = pd.read_csv('data1.csv')
dfb = pd.read_csv('data2.csv')

id = dfa.loc[(dfa['sex'] == 'M') & (dfa['info'] == 'None'), 'id']
id_copy = dfb.loc[(dfb['id'].isin(id))&(dfb['info']!='None'), 'id']

for i in id_copy.values:
    dfa.loc[dfa['id']==i, 'info'] = dfb.loc[dfb['id']==i, 'info']

1 个答案:

答案 0 :(得分:0)

您可以尝试使用map并将其分配回

s=dfa.id.map(dfb.set_index('id').info)
dfa.loc[s.notnull(),'info']=s