【发布时间】:2019-03-27 20:19:13
【问题描述】:
对于第 1 部分,我有多个 csv 文件,我循环使用这些文件来创建仅包含汇总统计信息(中位数)的新 csv 文件。新的 csv 文件在开始时具有原始文件名 + 'summary_'。这部分没问题。
对于第 2 部分,我想连接所有“summary_”文件(它们彼此具有相同的列名),但连接数据框中的行名称与相应“summary_”的名称相同数据来源的 csv 文件。
在 stackoverflow 的帮助下,我已经解决了第 1 部分,但还没有解决第 2 部分。我可以连接所有的 csv 文件,但不仅仅是名称中带有“summary_”的文件(即在第 1 部分中创建的新 csv),而不是正确的行名......
import os
import pandas as pd
import glob
## Part 1
summary_stats = ['median']
filenames = (filename for filename in os.listdir(os.curdir) if os.path.splitext(filename)[1] == '.csv')
for filename in filenames:
df = pd.read_csv(filename, )
summary_df = df.agg(summary_stats)
summary_df.to_csv(f'summary_{filename}')
## Part 2
path = r'/Users/Desktop/Practice code'
all_files = glob.glob(path + "/*.csv")
list = []
for filename in all_files:
df = pd.read_csv(filename, index_col=None, header=0)
list.append(df)
frame = pd.concat(list, axis=0, ignore_index=True)
【问题讨论】:
标签: python dataframe concatenation