首页 > 解决方案 > 合并两个数据框时如何解决空数据框问题?

问题描述

以下是我的代码:

np.random.seed(0)
left = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': np.random.randn(4)})    
right = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': np.random.randn(4)})
print(pd.merge(left,right))

结果是:

Empty DataFrame
Columns: [key, value]
Index: []

我不知道他们为什么是空的。

标签: pythonpandasdataframe

解决方案


尝试指定要加入的列,如下所示:

>>> pd.merge(left, right, on='key')
  key   value_x   value_y
0   B  0.400157  1.867558
1   D  2.240893 -0.977278

如果您需要所有密钥:

>>> pd.merge(left, right, on='key', how='outer')
  key   value_x   value_y
0   A  1.764052       NaN
1   B  0.400157  1.867558
2   C  0.978738       NaN
3   D  2.240893 -0.977278
4   E       NaN  0.950088
5   F       NaN -0.151357

推荐阅读