如上图,假设有这么一个类似的表,我想要知道表中字段值为1的字段,并将其列名组合输出。
目的是得知存在多少不同组合,并统计出不同组合出现的频数。
代码苦手是想用excel实现的,但实际上有上百个字段,数据量也不少,所以希望能用python解决。
急!!!希望能得到完整的代码解答!!!!
如上图,假设有这么一个类似的表,我想要知道表中字段值为1的字段,并将其列名组合输出。
目的是得知存在多少不同组合,并统计出不同组合出现的频数。
代码苦手是想用excel实现的,但实际上有上百个字段,数据量也不少,所以希望能用python解决。
急!!!希望能得到完整的代码解答!!!!
#-*- coding:utf-8 -*-
import pandas as pd
df = pd.read_excel('xxx.xlsx') ##默认读取sheet = 0的
print(df)
columns = df.columns.values.tolist()[1:]
dic = {}
for idx, row in df.iterrows():
tup = tuple(column for column in columns if row[column]==1)
print(tup)
dic[tup] = dic.get(tup,0) + 1
li = sorted(dic.items(),key=lambda x: x[1],reverse=True)
for ids, num in li:
print("&".join(ids),"组合出现的频数是:",num)