python - 合并两个数据框时如何解决空数据框问题?
问题描述
以下是我的代码:
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: []
我不知道他们为什么是空的。
解决方案
尝试指定要加入的列,如下所示:
>>> 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
推荐阅读
- java - 如何创建下拉菜单并使内容下降?
- c - pthard 不能在带有矩阵的 Ubuntu 上工作
- php - p3-profiler 错误,包括卸载插件后
- react-native - 创建 jsconfig.json 时出现错误
- jailbreak - 如何绕过 iXGuard 的越狱检测?
- amazon-web-services - 如何在 AWS Amplify 上自动将 HTTP 重定向到 HTTPS
- jquery - 从每个表中获取所有输入值
- python - 有没有可以识别自然语言时间表达式的python包?
- android - 如何以编程方式识别Android中的可移动存储是OTG?
- python - How do I randomly select between two strings with the `or` operator in python?