python - 将重复行从列的子集移动到 Python 中的另一个数据框
问题描述
使用 Python 和 Pandas,我想在数据框中找到所有具有重复行的列,并将它们移动到另一个数据框中。例如我可能有:
cats, tigers, 3.5, 1, cars, 2, 5
cats, tigers, 3.5, 6, 7.2, 22.6, 5
cats, tigers, 3.5, test, 2.6, 99, 52.3
我想要猫、老虎、3.5 合一数据框
cats, tigers, 3.5
在我想要的另一个数据框中
1, cars, 2, 5
6, 7.2, 22.6, 5
test, 2.6, 99, 52.3
代码应检查每一列是否有重复行,并且只删除所有行中出现重复的列。
- 在某些情况下,所有列都没有重复。
- 有时不止前三列有重复。它应该检查所有列,因为任何列中都可能出现重复
我怎么能这样做?
解决方案
您可以使用
df1 = pd.DataFrame(df.val.str.extract('([a-zA-Z ]+)', expand=False).str.strip().drop_duplicates()) #'val' is the column in which you have these values
print(df1)
输出
val
0 ABCD
和
df2 = pd.DataFrame(df.val.str.extract('([0-9]+)', expand=False).str.strip().drop_duplicates()) #'val' is the column in which you have these values
print(df2)
输出
val
0 1234
1 6578
2 4432
推荐阅读
- docker-compose - 如何打印替换了 .env 变量的 `docker-compose.yml` 的最终版本?
- java - 火库;添加用户电子邮件标识符而不创建集合
- vba - 将 TXT 导入 Access 时添加字段
- javascript - 如何在打字稿中指定枚举索引的类型
- react-native - 边框半径因宽度和颜色而异 - React Native
- javascript - 防止 IE11 中的 Ctrl+F4 默认浏览器操作事件
- sql - 为什么选择子查询中的无效字段可以在 BigQuery 中运行?
- azure - Azure 函数,延迟
- globalization - TEIID 中的 Unaccent() 函数替代
- java - Firestore:从查询中获取参数