python - 我想根据条件将 Pandas 数据框拆分为 2 个数据框
问题描述
我有一个 4 列的基本数据框。
column_A column_B column_C id
0 1 1 anna 123
1 2 1 anna 7
2 30 2 bob 42
2 20 2 bob 12
3 10 3 charlie 1
4 100 3 david 2
我想将其拆分为具有以下属性的 2 个不同的数据框。
数据框 1:
column_A column_B column_C id
0 1 1 anna 123
1 2 1 anna 7
2 30 2 bob 42
2 20 2 bob 12
其中column_B column_C 中的两个值都匹配
数据框 2:
column_A column_B column_C id
3 10 3 charlie 1
4 100 3 david 2
其中只有column_B 中的值匹配
解决方案
您可以检查重复项。
In [200]: dfs = {i: n for i, n in df.groupby(
df.duplicated(subset=['column_B', 'column_C'], keep=False))}
In [201]: dfs[True]
Out[201]:
column_A column_B column_C id
0 1 1 anna 123
1 2 1 anna 7
2 30 2 bob 42
2 20 2 bob 12
In [202]: dfs[False]
Out[202]:
column_A column_B column_C id
3 10 3 charlie 1
4 100 3 david 2
推荐阅读
- scala - Scala spark-shell:模式函数 structType 类型不匹配
- go - 如何使用 FFI 从 Dart 调用 Go lib
- java - 在 JPA 中选择返回空值
- python - 使用 python regexp 匹配 ASN.1 字符串
- sql - posgresql中时间戳分组日期的有序重复 - sql
- modem - Telit UL865 3G 调制解调器在 AT#HTTPRCV=0 后挂起(需要重置)
- sql - 总计值,直到我到达某个点
- nix - 组合多个 `python.withPackages` 定义
- r - 域名更改后闪亮的应用程序不起作用
- reporting-services - 更改 Microsoft Report Builder 中的字体外观