使用python从csv文件的所有列中提取重复值
我有一个csv文件,它有一个唯一列(id)和7个其他列(C1),由与一个唯一列相关的类组成。现在我只想从7列中提取重复数据 但我实际上需要编写一些类似于输出的代码 例如:使用python从csv文件的所有列中提取重复值,python,database,pandas,csv,Python,Database,Pandas,Csv,我有一个csv文件,它有一个唯一列(id)和7个其他列(C1),由与一个唯一列相关的类组成。现在我只想从7列中提取重复数据 但我实际上需要编写一些类似于输出的代码 例如: **id C1 C2 C3 C4 C5 C6 C7** P1 a1 a2 a4 P2 a2 a4 a6 a7 P3 a5 a7 P4 a1 a3 输出 a1=> P1, P4 a2=>
**id C1 C2 C3 C4 C5 C6 C7**
P1 a1 a2 a4
P2 a2 a4 a6 a7
P3 a5 a7
P4 a1 a3
输出
a1=> P1, P4
a2=>P1, P2
a3=>P4
a4=>P1, P2
a5=>P3
and so on
使用
stack
和groupby
df.set_index('id').stack().reset_index().groupby(0).id.apply(list)
Out[137]:
0
a1 [P1, P4]
a2 [P1, P2]
a3 [P4]
a4 [P1, P2]
a5 [P3]
a6 [P2]
a7 [P2, P3]
Name: id, dtype: object
哇,我的文件名是go.csv。你能分享一个代码吗?如何读取它,然后应用上面的过程。抱歉,我是新手,如果我只想检索最频繁的类,我会添加最频繁的类,例如P1和P2only@user3768070您可以进行值计数:
value\u计数
类似于df.set\u index('id').stack().reset\u index().groupby(0).id.apply(list).astype(str).value\u计数()