python - 使用变量调用另一个pythonfile中的数据框
问题描述
正如问题所述,我试图找出一种方法来使用变量在不同的 python 脚本中调用数据帧。我在 main.py 中有一个主数据框(maindf),其中包含位于 other.py 中的所有“子”数据框(称为 df1、df2 ....df9)的名称 other.py 使用import others
ive 正确导入也使用from others import df1
通过循环主数据框来创建变量,以获取子数据框之一的正确名称dfname = (maindf.loc[i, ['dfnames']].values[0])
在使用 if 语句创建变量后,我目前正在做什么来访问正确的数据帧,这让我只想看着它就想吐。
if dfname == "df1":
df = others.df1
if dfname == "df2":
df = others.df2
if dfname == "df3":
df = others.df4
print(df)
除了更多这些 if 语句。让我得到我想要的结果,但必须有更好的方法来解决它。我最初的想法是这样做。
df = others.dfname
print(df)
我还尝试将数据帧 df1-df9 移动到 main.py 中,但仍然无法使用变量调用它们。对编码很陌生,因此感谢所有帮助
解决方案
我强烈同意@TimRoberts,使用容器。字典非常适合这种情况,您可以这样做other.dict_container['df1']
。
也就是说,您可以按名称访问属性getattr
:getattr(other, 'df1')
推荐阅读
- php - 有没有其他方法可以使用 laravel 查询生成器进行过滤?
- putty - 是否可以使用 WinSCP 重新启动服务器?
- bash - 如何重定向k8s“退出代码137”?
- c++11 - 创建不可复制类型的 std::vector
- java - 如何为 Solrj 8.1 Http2SolrClient 设置自定义标头
- android - 当我尝试在 Tab 中构建时应用程序崩溃
- python - update_or_create 导致 int() 以 10 为底的无效文字:
- angular - 无法从 node_modules 解析文件
- python - 如何在气流中有多个分支?
- javascript - 删除并添加页边距顶部,删除并添加背景图像到标题-滚动时-