python - 按值获取列表中具有重复列名称的列表
问题描述
我有数据框:
import pandas as pd
data = [[101, 1, 2, 10, 3, 2, 3, 1], [5,5, 5, 5, 5, 5, 5, 5], [30, 3, 7, 14, 10, 7, 10, 2], [11, 2, 6, 15, 20, 6, 20, 11]]
df = pd.DataFrame(data, columns = ['xen', 'sim', 'tab', 'sim', 'simm', 'box', 'simm', 'res'])
看起来像:
| xen | sim | tab | sim | simm | box | simm | res |
|------:|------:|------:|------:|-------:|------:|-------:|------:|
| 101 | 1 | 2 | 10 | 3 | 2 | 3 | 1 |
| 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
| 30 | 3 | 7 | 14 | 10 | 7 | 10 | 2 |
| 11 | 2 | 6 | 15 | 20 | 6 | 20 | 11 |
我需要在列表中按值获取具有重复列名称的列表(它可以按名称重复,也可以不重复)。对于上面输出的数据框应该是这样的:
[["tab", "box"], ["simm", "simm"]]
解决方案
IIUC
l=df.T.reset_index().groupby(df.index.tolist())['index'].agg(list).loc[lambda x : x.str.len()>=2].values.tolist()
[['tab', 'box'], ['simm', 'simm']]
推荐阅读
- c# - 将 API 响应传递给另一个操作
- python - 根据条件将 DataFrame 行拆分为多个
- prolog - 查找一定长度的子串
- r - 如何在 R 中的两个数据框之间找到公共行并将其删除
- javascript - 仅在需要时调用 Cypress 命令
- kubernetes - Kubernetes 上的芹菜在收到后 15 分钟执行任务
- excel - 获取 Excel 单元格内的共享点元数据
- python - 如何用 NaN 替换 DataFrame 中的文本?
- python - 我正在使用 OOP 为习惯跟踪器创建后端,但出现“NameError:调用 create 方法时未定义名称”
- javascript - ParticlesJS Canvas 在页面上可见,页面内容仍然可选择