Python 使用 Pandas 和 Matplotlib 分析专家评分数据
import pandas as pd
import matplotlib.pyplot as plt
# 读取CSV文件
df = pd.read_csv('专家打分.csv', encoding='gbk')
# 你的数据
clusters = {
'Cluster 0': [12, 15, 17, 24, 30, 35, 38, 40, 41, 43, 44, 47, 53, 54, 62, 63, 69, 70, 71, 72, 76, 78, 79, 80, 83, 84, 87, 89, 97],
'Cluster 1': [11, 13, 16, 18, 19, 22, 26, 34, 57, 61, 67, 73, 74, 85, 86, 91, 94, 96],
'Cluster 2': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 20, 21, 23, 25, 27, 28, 29, 31, 32, 33, 36, 37, 39, 42, 45, 46, 48, 49, 50, 51, 52, 55, 56, 58, 59, 60, 64, 65, 66, 68, 75, 77, 81, 82, 88, 90, 92, 93, 95]
}
# 对每个类别选择所有数据,并进行统计
for cluster, data in clusters.items():
# 选择对应专家序号的行
selected_rows = df[df['专家序号'].isin(data)]
# 对每个选中的专家,绘制其所有列的直方图
for i, row in selected_rows.iterrows():
fig, ax = plt.subplots()
row[1:].dropna().astype(float).hist(ax=ax) # 从第一列开始,去掉空值,转换为浮点数
ax.set_title(f'Expert {row['专家序号']} in {cluster}')
plt.xlabel('Score')
plt.ylabel('Frequency')
plt.savefig(f'Expert_{row['专家序号']}_in_{cluster}.png')
plt.close(fig)
本代码使用 Python 的 Pandas 和 Matplotlib 库来分析专家评分数据,对每个类别中的所有专家进行评分直方图绘制,方便直观地观察专家评分分布。
代码功能:
- 读取 CSV 文件,数据包含专家序号和每个专家对不同项目的评分。
- 定义
clusters字典,包含每个类别对应的专家序号列表。 - 遍历每个类别,选择该类别中所有专家对应的评分数据。
- 对每个专家,绘制其所有评分项目的直方图,并将图形保存为图片。
使用方法:
- 将专家评分数据保存为 CSV 文件,文件名为 '专家打分.csv'。
- 确保 CSV 文件编码为 'gbk'。
- 运行代码,代码会自动生成每个专家的评分直方图图片,图片保存在当前目录下。
注意事项:
- CSV 文件的第一列应为专家序号,后续列为专家对不同项目的评分。
- 代码假设所有评分数据都为数值类型,若有其他类型数据,请先进行类型转换。
- 可以根据需要修改图片文件名和保存路径。
示例:
假设 '专家打分.csv' 文件内容如下:
专家序号,项目1,项目2,项目3
1,8,7,9
2,9,8,10
3,7,9,8
...
运行代码后,会生成如下图片:
- Expert_1_in_Cluster_2.png
- Expert_2_in_Cluster_2.png
- Expert_3_in_Cluster_2.png
- ...
每个图片展示对应专家对所有项目的评分直方图。
总结:
本代码提供了一种简单便捷的方法来分析专家评分数据,并使用直方图直观地展示每个专家的评分分布,帮助用户更好地理解数据。
原文地址: https://www.cveoy.top/t/topic/bDW0 著作权归作者所有。请勿转载和采集!