pandas 分析一个文件夹中的多个csv文件,并使用panda仅将结果写入单个csv文件

rekjcdws  于 2023-02-17  发布在  其他
关注(0)|答案(1)|浏览(133)

我可以读取和分析单个csv文件,并向同一数据框添加新列。但是,我不能对文件夹中的多个文件执行此操作,并只将结果保存到单个csv文件中。
我已经尝试像下面的一个单一的csv文件

df1 = pd.read_csv('file.csv')
df1['Number of rows'] = (len(df1))
df1['Number of unique data'] = df1['column1'].nunique()
df1['Number of A type in Column2'] = df1['column2'].value_counts()['A']
df1.to_csv('df1_results.csv' , index = False)

但是,我需要在一个文件夹中的多个文件的csv文件中像下面的图像的结果:Need result like this

roejwanj

roejwanj1#

您可以迭代输入文件夹中的不同csv文件,处理相应的数据并将输出 Dataframe 附加到 Dataframe 列表中:

list_of_dataframes = []
for file in list_of_files:
    df1 = pd.read_csv('file.csv')
    df1['Number of rows'] = (len(df1))
    df1['Number of unique data'] = df1['column1'].nunique()
    df1['Number of A type in Column2'] = df1['column2'].value_counts()['A']
    list_of_dataframes.append(df1)

剩下要做的唯一事情是将 Dataframe 列表连接到单个 Dataframe 中,然后您可以将其输出到csv:

df = pd.concat(list_of_dataframes)
df.to_csv('df_results.csv' , index = False)

相关问题