Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 例如,将多个csv导入到一个具有多列的数据框中_Python_Pandas_Csv_Import - Fatal编程技术网

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

Python 例如,将多个csv导入到一个具有多列的数据框中,python,pandas,csv,import,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_time

我有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']
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:
    aux = read_csv(name)
    results[name[11:-4]] = aux["results"]
我想在新的数据帧中使用唯一的文件名(从第11个到最后4个)作为列标题。每个文件由一列组成,列数相同,如下所示:

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']
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:
    aux = read_csv(name)
    results[name[11:-4]] = aux["results"]
我在执行以下代码时遇到错误:

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

ValueError:无法设置没有定义索引的帧和无法转换为序列的值如果我理解正确,您可以按如下操作:

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']
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:
    aux = read_csv(name)
    results[name[11:-4]] = aux["results"]
这将为每个文件生成一列,其中包含您想要的唯一标识符,每个csv的“结果”列将保存在相应的列中