Python Pandas-将字典转换为dataframe-键作为列
我有一个包含.csv文件的文件夹,其中包含以下格式的timeseries:Python Pandas-将字典转换为dataframe-键作为列,python,pandas,Python,Pandas,我有一个包含.csv文件的文件夹,其中包含以下格式的timeseries: 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}
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的方式:
writer = pd.ExcelWriter("output.xls")
df.to_excel(writer,'data', index_label = 'data', merge_cells =False)
writer.save()
我认为错误一定是在将字典传递到数据帧时。
我尝试了pd.concat/merge/append,但没有返回正确的结果
提前谢谢 IIUC您可以尝试
列表理解
:
IIUC您可以使用以下工具尝试
列表理解
:
好的,这个很好用。我的错误是行号不匹配。我可以通过设置ignore_index=True来解决这个问题。字典方式和列表理解之间的区别在于:字典键充当列标题,这在我的例子中非常有用。谢谢你的帮助!好的,这个很好用。我的错误是行号不匹配。我可以通过设置ignore_index=True来解决这个问题。字典方式和列表理解之间的区别在于:字典键充当列标题,这在我的例子中非常有用。谢谢你的帮助!
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))