python-3.x - 如何使用循环来自动执行重复性任务?
问题描述
我有一个创建最终数据帧的函数,需要将此函数应用于 10 个不同的数据帧。有没有办法使用循环来自动执行此操作,而不是一个一个地编写数据框名称?
def table_all(df,sales_date):
df1=df.loc[df['date']==sales_date]
### more code##
df1.fillna(0,inplace=True)
return df1
sales1 = table_all(df,sales_date1)
sales2 = table_all(df,sales_date2)
sales3 = table_all(df,sales_date3)
##### more code ####
sales10 = table_all(df,sales_date10)
我希望使用如下所示的循环,但它不起作用。任何想法将不胜感激。
for x in range(1,11):
sales+str(x)=table_all(df, sales_date+str(x))
解决方案
首选使用 adict
来存储结果:
sales = {}
for x in range(1, 11):
sales[x] = table_all(df, globals()["sales_date{}".format(x)]
这里几乎相同的问题
推荐阅读
- javascript - 将鼠标悬停在 X 上时,如何仅在单个列表中显示 X?
- r - 使用 r-markdown for PowerPoint 的语法突出显示和样式设置
- java - 我可以直接从 shell 以调试模式运行 Java 应用程序吗?(不是来自 IDE)
- kotlin - 在 kotlin 中如何简化?
- python - 为什么当bid = 3 且highest_bid = 2000 时print(bid > high_bid) 返回true?
- c++ - C++20 中的 requires-expression 可以是隐式转换为 bool 的类型吗?
- java - 布尔递归方法调用是否总是需要返回语句?
- vue.js - Nuxt SSR 路由问题 - [vue-router] 重复命名路由定义
- java - FileInputStream and FileOutputStream: Read and write to the same file
- eclipse - 拥有一个或多个 Java 模块,与多个 Spring-boot-projects 共享