我有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:无法设置没有定义索引和无法转换为系列的值的框架
答案 0 :(得分:1)
如果我理解正确,则可以按照以下步骤进行操作:
results = DataFrame()
for name in filenames:
aux = read_csv(name)
results[name[11:-4]] = aux["results"]
这将为每个文件生成一个具有所需唯一标识符的列,每个csv的“结果”列将保存在相应的列中。