![](/img/trans.png)
[英]Python - Pandas How to get all possible combinations from a group by in a dataframe
[英]Making all possible combinations per group in Pandas
我有一个非常大的CSV文件,具有122290行。 顺序如下:
Feature, Person
Fever, Pat1
Headache, Pat1
Burping, Pat1
Fever, Pat2
Obese, Pat2
Headache, Pat2
Jaundice, Pat2
我想做一张新桌子。 这张表是每个病人的特征的组合...我想看看某些症状是否显示出发生现象。 我使用csv.reader使用Python进行了此操作。 但是因为它一直在循环,所以122290行需要花费几个小时。 每个病人大约有 305个症状...有405例患者。 我不想重复像Feature1 == Feature2 ...我想知道在Pandas中是否也有可能...如果是这样,您能指出您将如何解决这个问题吗? 谢谢!
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
使用merge
。 您可以将DataFrame与自身进行自我合并,然后删除多余的对(其中特征反转或与其自身配对)。
df2 = pandas.merge(df, df, on='Person', suffixes=['1', '2'])
df2 = df2[df2.Feature1 < df2.Feature2]
结果:
Person Feature1 Feature2
Pat1 Fever Headache
Pat1 Burping Fever
Pat1 Burping Headache
Pat2 Fever Obese
Pat2 Fever Headache
Pat2 Fever Jaundice
Pat2 Headache Obese
Pat2 Headache Jaundice
Pat2 Jaundice Obese
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.