大熊猫,将多个csv导入具有多个列的一个数据框中

时间:2020-10-07 14:00:33

标签: python pandas csv import

我有12个csv文件,我想按列将其导入数据框。

例如,每个12个csv文件的命名方式如下:

filenames = ['experiment_timesteps_1.csv',
             'experiment_timesteps_2.csv',
             'experiment_timesteps_3.csv',
             'experiment_timesteps_4.csv',
             'experiment_timesteps_5.csv',
             'experiment_timesteps_6.csv',
             'experiment_timesteps_8.csv',
             'experiment_timesteps_10.csv',
             'experiment_timesteps_12.csv',
             'experiment_timesteps_15.csv',
             'experiment_timesteps_18.csv',
             'experiment_timesteps_20.csv']

我想使用唯一的文件名(第11到最后4个)作为新数据框中的列标题。每个文件由一列组成,行数相同,如下所示:

results
266430.1827
318881.2395
285411.9195
279878.2699
272394.9219
239213.2243
274932.4677
290705.0974
315464.9616
240384.0452

我在执行以下代码时遇到了错误:

results = DataFrame()
for name in filenames:
    results[name[11:-4]] = read_csv(name, header=0)

ValueError:无法设置没有定义索引和无法转换为系列的值的框架

1 个答案:

答案 0 :(得分:1)

如果我理解正确,则可以按照以下步骤进行操作:

results = DataFrame()
for name in filenames:
    aux = read_csv(name)
    results[name[11:-4]] = aux["results"]

这将为每个文件生成一个具有所需唯一标识符的列,每个csv的“结果”列将保存在相应的列中。