【问题标题】:How To Loop Through Pandas df?如何循环遍历 Pandas df?
【发布时间】:2021-09-12 17:33:31
【问题描述】:

我有这个 df

我想创建一个能够获取指定值的循环:

  • 接种疫苗的人数(介于 M 和 F 之间),
  • 第一剂和第二剂之和
  • 名称区域被选中

所以有条件的字符串是这样的:

br = vaccini.loc[(vaccini['fornitore'] == 'Pfizer/BioNTech') & 
             (vaccini['fascia_anagrafica'] == '20-29') & 
             (vaccini['nome_area'] == 'Abruzzo')].sum()

但我想创建一个循环以提高计算效率,例如:

对于 df 中的 x 如果 fornitore 是(同一个词) 如果 fascia_anagrafica 是(同一个词) 如果 nome_area 是(同一个词) 打印(x)

【问题讨论】:

    标签: python pandas dataframe loops for-loop


    【解决方案1】:

    我认为你想要的是一个 groupby。

    cols = [s for s in vaccini.columns if s.startswith('sesso') or s.endswith('dose')]
    vaccini.groupby(['fornitore', 'fascia_anagrafica', 'nome_area'])[cols].sum()
    

    这将汇总每个组中提供的列。如果您想要一个特定的总和,只需使用适用的制造商、年龄和位置查询适用行的生成多索引。

    通常,对于 Pandas,您希望尽可能避免循环。如果您查看库,通常有一些方法可以绕过循环,因此有大量关于 Pandas 的研究元素(除非您要查找的内容非常不标准)。

    【讨论】:

      猜你喜欢
      • 2014-10-28
      • 2019-04-06
      • 2023-03-24
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      • 2021-07-05
      • 1970-01-01
      • 2021-01-29
      相关资源
      最近更新 更多