python-3.x - 将多个条件的所有行带到另一列?
问题描述
我有一个如下所示的 xls,我有一个带有值的列名 ID,如果列值相同,1,2,3
我需要提取数据,并且这些都应该由 pandas 完成Name and Subname
1,2,3
Name subname ID
A B 1
A B 2
A B 3
A C 1
A C 2
F C 1
F C 2
F C 3
预期产出
Name subname
A B
F C
解决方案
您可以尝试为每个组创建唯一性作为元组并进行比较,然后作为数据框返回:
uniques = df.groupby(['Name','subname'])['ID'].unique().map(tuple)
out = uniques.index[uniques==(1,2,3)].to_frame().reset_index(drop=True)
print(out)
Name subname
0 A B
1 F C
推荐阅读
- pandas - 导入熊猫导致 ModuleNotFoundError :_lzma
- robotframework - 提取列表文本
- go - Golang tls 服务器和客户端,避免重新连接时客户端的高内存使用
- twilio - 替换 Twilio Flex 徽标
- javascript - 使用 JavaScript/jQuery 在浏览器中的某个位置显示视觉对象
- f# - F# 关闭 tcp 客户端连接
- ios - Callkit 和 Webrtc 从锁定屏幕接听电话时没有音频
- python - 从数据框中提取数据
- php - 不推荐使用 Wordpress:define():不推荐使用不区分大小写的常量的声明
- eclipse - 如何解决Mac上更改用户名/用户目录名称后无法安装或打开Mac Eclipse