熊猫 - 转换字典数据帧 - 键为

问题描述:

我有包含时间序列按以下格式的.csv文件的文件夹栏:熊猫 - 转换字典数据帧 - 键为

1 0.950861 
2 2.34248 
3 2.56038 
4 3.46226 
... 

我通过循环包含的文件和通过的文件夹*问这些TEXTFILES每个文本文件的字典:

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

我要合并的列,其中包含彼此相邻与字典键数据作为索引(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,但没有返回正确的结果。

在此先感谢!

IIUC你可以尝试用list comprehensionconcat

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)) 
+0

好吧,这完美的作品。我的错误是行数不匹配。我可以通过设置ignore_index = True来解决这个问题。字典方式和列表理解之间的区别是:字典键作为列标题,这在我的情况下非常有用。谢谢您的帮助! –