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 库来分析专家评分数据,对每个类别中的所有专家进行评分直方图绘制,方便直观地观察专家评分分布。

代码功能:

  1. 读取 CSV 文件,数据包含专家序号和每个专家对不同项目的评分。
  2. 定义 clusters 字典,包含每个类别对应的专家序号列表。
  3. 遍历每个类别,选择该类别中所有专家对应的评分数据。
  4. 对每个专家,绘制其所有评分项目的直方图,并将图形保存为图片。

使用方法:

  1. 将专家评分数据保存为 CSV 文件,文件名为 '专家打分.csv'。
  2. 确保 CSV 文件编码为 'gbk'。
  3. 运行代码,代码会自动生成每个专家的评分直方图图片,图片保存在当前目录下。

注意事项:

  • 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
  • ...

每个图片展示对应专家对所有项目的评分直方图。

总结:

本代码提供了一种简单便捷的方法来分析专家评分数据,并使用直方图直观地展示每个专家的评分分布,帮助用户更好地理解数据。

Python 使用 Pandas 和 Matplotlib 分析专家评分数据

原文地址: https://www.cveoy.top/t/topic/bDW0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录