任务是这样的,有18个类,出现在excel中的一列中,每一元素有若干个类数,但每一个类别只有一个,计算所有出现的类中,类a与类b同时出现的次数。
数据就是这样的,做出来的结果是这样的:
用的是遍历的方法,下面是代码:
import pandas as pd
#待分析数据存储地址
excel_path=r'../经筛选后的体质数据.xlsx'
#打开excel
data=pd.read_excel(excel_path)
#读取待处理列,[]中的内容为待处理列的标题
id=data['按标准的体质判断结果']
#初始化一个列表存储按列出现次数排序后的对照关系
nums=[]
for i in range(len(id)):
nums.append(id[i])
#将列表中的字符串按照每个字符串出现的次数排序
from collections import Counter
num_Count=Counter(nums)
tmp=num_Count.most_common()
#初始化
container={'平和质':0,'基本平和':0,'气虚质':0,'气虚倾向':0,'阳虚质':0,'阳虚倾向':0,'阴虚质':0,'阴虚倾向':0,'气郁质':0,'气郁倾向':0,'痰湿质':0,'痰湿倾向':0,'特禀质':0,'特禀倾向':0,'湿热质':0,'湿热倾向':0,'血瘀质':0,'血瘀倾向':0}
all_zheng=['平和质','基本平和','气虚质','气虚倾向','阳虚质','阳虚倾向','阴虚质','阴虚倾向','气郁质','气郁倾向','痰湿质','痰湿倾向','特禀质