Pandas,将多个csv导入到具有多列的一个数据框中

我有 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:无法设置没有定义索引的框架和无法转换为系列的值


慕容708150
浏览 95回答 1
1回答

qq_遁去的一_1

如果我理解正确的话,你可以这样做:results = DataFrame()for name in filenames:    aux = read_csv(name)    results[name[11:-4]] = aux["results"]这将为每个文件生成一个列,其中包含您想要的唯一标识符,并且每个 csv 的“结果”列将保存在相应的列中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python