首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python -创建循环以筛选并保存在单独的df中。

Python -创建循环以筛选并保存在单独的df中。
EN

Stack Overflow用户
提问于 2022-05-10 11:21:20
回答 1查看 39关注 0票数 0

嗨,毕多纳人和毕多尼斯人,

我有一个工作代码,它将三个过滤器应用于一个dataframe。该代码应用于194个实例,这会增加可承受级别上的总运行时间--所以现在我需要减少它。

我的代码:

1_all =df.loc[(df‘’Country‘== '1') &(df’‘Unit’== "Result") &(df‘’Structure‘==“总计”)]

2_all =df.loc[(df‘’Country‘== '2') &(df’‘Unit’== "Result") &(df‘’Structure‘==“总计”)]

3_all =df.loc[(df‘’Country‘== '3') &(df’‘Unit’== "Result") &(df‘’Structure‘==“总计”)]

4_all =df.loc[(df‘’Country‘== '4') &(df’‘Unit’== "Result") &(df‘’Structure‘==“总计”)]

是否有可能将这些代码转换为循环函数,这会减少整个运行时间吗?

提前谢谢你们-堆叠溢出救了我不止一次。

EN

回答 1

Stack Overflow用户

发布于 2022-05-10 11:51:45

您可以创建一个groupby对象并对其进行循环。

只在单元/结构上过滤一次:

代码语言:javascript
复制
dfs = {name: g for name,g in 
       (df.loc[(df['Unit'] == "Result") & (df['Structure'] == "Total")]
          .groupby('Country'))
      }

然后,您可以使用

代码语言:javascript
复制
dfs['1'] # assuming '1' is a string
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72185436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档