【发布时间】:2020-02-29 10:47:18
【问题描述】:
我有两个数据框,我想将它们合并到常见的列上,如下所示。第二个数据框中还有一个新列。
dummy_data1 = {'id': ['1', '2', '3', '4'],'name': ['A', 'C', 'E', 'G'],
'year':['2012','2012','2012','2012']}
df1 = pd.DataFrame(dummy_data1, columns = ['id', 'name', 'year'])
dummy_data2 = {
'id': ['1', '2', '3', '7',],
'name': ['A', 'C', 'E', 'P'],
'ADDRESS': ['X', 'Y', 'Z', 'P'],'year':['2013','2013','2013','2013']}
df2 = pd.DataFrame(dummy_data2, columns = ['id', 'name','ADDRESS','year'])
当我用
合并这两个数据框时df_merge = pd.merge(df1, df2, on=['name','id','year'],how='outer')
由于新添加的列,我得到了一些行的 NaN ,正如预期的那样:
我的问题是关于 NaN 的,如果该 id 的数据在其他数据框中可用,是否有办法只重复 NaN 的数据。因此,对于索引 0,它会带来“X”而不是 NaN,对于索引 1,它会带来“Y”等等。我只是想假设不同年份的“地址”不会改变。 谢谢!
【问题讨论】:
-
请展示您希望其外观的示例。
标签: python-3.x pandas