python - 从单个纯文本文件中读取多个 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”。
我是一个该死的初学者——所以要温柔
谢谢
解决方案
最简单的方法是在您的 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']
推荐阅读
- javascript - preact createPortal 多次渲染
- svg - SVG 固定大小的元素在 Viewbox 内相对定位
- python - 与 `top` 相比,tracemalloc.get_traced_memory 显示大约 1/10 的内存使用量
- azure-devops - How to Tag a branch Automatically in Azure DevOps using extension (Tag/Branch Git On Release)
- javascript - '不能在模块外使用 import 语句'与 ES6 Node v.12
- highcharts - ShadowOptionsObject 示例
- java - 如何通过适配器将图像数组传递给 NewActivity
- c++ - 未评估上下文中的函数模板实例化
- haskell - 无法摆脱 reflex-dom 中的递归
- html - NUXTJS | 第一次调用加载 css / layout 时出错