python - 在 Python 中比较和均衡两个数据帧
问题描述
我有以下数据框:df1
C1 C2
F56 345
G45 65
H13 56
H67 578
Y78 64
df2
C1 C2
A34 10
F56 345
H13 56
Y78 64
我想比较上述两个数据帧,如果 df1 包含 C1 中的值,而 df2 中不存在,反之亦然,我想添加一个新行,其中缺少对应的 C2 值 = 0 的值。所以生成的数据帧看起来像下面这样。
df1
C1 C2
A34 0
F56 345
G45 65
H13 56
H67 578
Y78 64
df2
C1 C2
A34 10
F56 345
G45 0
H13 56
H67 0
Y78 64
感谢任何建议。
解决方案
这是 DataFrame.merge 的一个很好的用例:https ://pandas.pydata.org/pandas-docs/version/0.23/generated/pandas.DataFrame.merge.html
如果您曾在关系数据库(左、右、内、外)中花费过任何时间,那么合并的方式会很熟悉,合并的厉害之处在于。
在这种indicator
情况下,您对参数特别感兴趣:
result_df1 = df1.merge(
df2,
how = "outer",
on = "C1",
indicator = True,
suffixes = ("", "_df2")
)
因此,您需要填写此特定连接中带有np.nan
in 列的结果,然后删除我们引入的额外列。C2
0
推荐阅读
- openam - 如何让 OpenAM 通过简单的用户名和密码认证返回 jwt-token
- python-3.x - 如何在 Elasticsearch 中最好地存储时间序列数据?
- python - 如何从整数的第 n 个元素(collatz 序列)开始显示答案?
- reactjs - 谷歌浏览器的formik输入自动填充
- google-chrome - 如何开启闪光灯?
- xaml - Xamarin.Forms XAML RelativeLayout:定义一个高度,其余部分动态填充
- qt - 如何向 TreeView 添加值?
- javascript - React Native 如何获取设备的方向
- javascript - 使用 jQuery 兄弟功能检查至少一个复选框
- typescript - 使用接口的键索引对象,而值是具有该键的返回类型的函数