Pandas - 将字典转换为数据框 - 键作为列

时间:2016-11-10 13:01:07

标签: python pandas

我有一个包含.csv文件的文件夹,其中包含以下格式的时间序列:

1   0.950861
2   2.34248
3   2.56038
4   3.46226
...

我通过循环包含文件的文件夹并将每个文本文件传递到字典来访问这些文本文件:

data_dict = {textfile: pd.read_csv(textfile, header=3, delim_whitespace=True, index_col=0) for textfile in textfiles}

我想合并列,其中包含彼此相邻的数据,并将字典键作为索引(文本文件的路径名)。它们都具有相同的行号。

到目前为止,我尝试将字典传递给pd.Dataframe,如下所示:

df = pd.DataFrame.from_dict(data_dict, orient='index')

实际上,定位必须是默认的“#”列,但会导致错误: 值错误:如果使用所有标量值,则必须传递索引

如果我这样做,我会得到错误的结果: Excel_Output

这是我将框架传递给Excel的方式:

writer = pd.ExcelWriter("output.xls")
df.to_excel(writer,'data', index_label = 'data', merge_cells =False)
writer.save()

我认为错误必须是将字典传递给数据帧。 我尝试了pd.concat / merge / append但没有返回正确的结果。

提前致谢!

1 个答案:

答案 0 :(得分:0)

IIUC您可以使用concat {/ p>尝试list comprehension

data_list = [pd.read_csv(textfile, header=3, delim_whitespace=True, index_col=0) 
             for textfile in textfiles]
print (pd.concat(data_list, axis=1))
相关问题