Python 在大熊猫中每组制作所有可能的组合

Python 在大熊猫中每组制作所有可能的组合,python,csv,pandas,Python,Csv,Pandas,我有一个很大的CSV文件,有122290行。其顺序如下: Feature, Person Fever, Pat1 Headache, Pat1 Burping, Pat1 Fever, Pat2 Obese, Pat2 Headache, Pat2 Jaundice, Pat2 我想做一张新桌子。此表是每个患者的功能组合。。。我想看看某些症状是否表现出聚集性。我用Python和csv.reader实现了这一点。但因为它一直在循环,122290行需要几个小时。每个患者大约有305个症状。。。有4

我有一个很大的CSV文件,有122290行。其顺序如下:

Feature, Person
Fever, Pat1
Headache, Pat1
Burping, Pat1
Fever, Pat2
Obese, Pat2
Headache, Pat2
Jaundice, Pat2
我想做一张新桌子。此表是每个患者的功能组合。。。我想看看某些症状是否表现出聚集性。我用Python和csv.reader实现了这一点。但因为它一直在循环,122290行需要几个小时。每个患者大约有305个症状。。。有405名患者。我不想要像Feature1==Feature2这样的重复项。。。我想知道这在熊猫身上是否也是可能的。。。如果是这样,你能列出你将如何着手解决这个问题吗?谢谢大家!

Feature1, Feature2, Person
Fever, Headache, Pat1
Fever, Burping, Pat1
Heache, Burping, Pat1
Fever, Obese, Pat2
Fever, Headache, Pat2
Fever, Jaundice, Pat2
Obese, Headache, Pat2
Obese, Jaundice, Pat2
Headache, Jaundice, Pat2
使用。您可以将数据帧与自身进行自合并,然后删除额外的数据帧对(在这些数据帧对中,特征被反转或与其配对)


你想要一个405x305的矩阵,每个单元格中是1还是0?我最终会得到一个3列数百万行的矩阵。我不想使用矩阵。。。。这将导致矩阵中出现大量0和大量内存使用,因为我想对这些组合进行统计。。。
df2 = pandas.merge(df, df, on='Person', suffixes=['1', '2'])
df2 = df2[df2.Feature1 < df2.Feature2]