首页 > 解决方案 > 如何根据列值从数据帧中提取行到多个 CSV 文件?

问题描述

我有以下数据框:

data = {'participant_id': [1, 100, 125, 125, 1, 100], 
        'test_day':['Day_1', 'Day_1', 'Day_12', 'Day_14', 'Day_4', 'Day_4'], 
        'favorite_color': ['blue', 'red', 'yellow', 'green', 'yellow', 'green'],  
        'grade': [88, 92, 95, 70, 80, 30]}
df = pd.DataFrame(data, columns = ['participant_id', 'test_day', 'favorite_color', 'grade'])

它有 10000 行,包含 400 名测试参与者的数据,这些参与者标有存储在“participant_id”列中的唯一且完全随机的 ID。我的任务是为个人(每个“participant_id”)创建数据框,然后将它们保存到单独的 csv 文件中(总共 400 个)。

几天来我一直试图弄清楚如何做到这一点,但没有运气。

你能帮我么?

我仍在学习如何编程并尝试应用数据科学课程中的知识。我正在使用 Pandas,通常我使用 df.loc 访问有关单个参与者的数据,我还创建了所有参与者 ID 的列表,但我不知道如何将两者结合起来自动实现所需的结果。

标签: pythonpandasdataframepandas-groupby

解决方案


groupby+to_csv

您可以按特定字段分组并迭代:

for part_id, df_id in df.groupby('participant_id'):
    df_id.to_csv(f'{part_id}.csv')

推荐阅读