首页 > 解决方案 > 从单个纯文本文件中读取多个 pandas 数据帧

问题描述

我有一个包含 3 个熊猫数据框的输出文件。

df1
          A         R         N         D
0  0.033333  0.086667  0.014444  0.058889
1  0.093333  0.084444  0.011111  0.034444
2  0.093333  0.084444  0.011111  0.034444


df2
          A         R         N         D
0  0.033333  0.008889  0.000000  0.055556
1  0.050000  0.016667  0.000000  0.058889
2  0.071111  0.018889  0.003333  0.027778


df3
          A         R         N         D
0  0.016667  0.007778  0.000000  0.003333
1  0.027778  0.002222  0.003333  0.024444
2  0.006667  0.000000  0.000000  0.055556

我需要使用文件中的 df 作为下一个程序的输入。

我知道我可以打开文件并提取相应的行,然后将它们放入 df.xml 文件中。

但我想知道是否有内置的东西可以通过它们的名字来读取它们,比如“df1”或“df2”。

我是一个该死的初学者——所以要温柔

谢谢

标签: pythonpandasdataframe

解决方案


最简单的方法是在您的 dfs 中添加一列以指示这些数据属于哪个 df,然后连接它们并保存它们:

df = pd.concat([df1.assign(df = 'df1'),df2.assign(df = 'df2'),df3.assign(df = 'df3')])
df.to_csv('data.csv')

再次加载后,您可以将它们分开

df = pd.read_csv('data.csv')
df1 = df[df['df'] == 'df1']
df2 = df[df['df'] == 'df2'] 
df3 = df[df['df'] == 'df3']

推荐阅读