如何循环遍历 Pandas df?
Posted
技术标签:
【中文标题】如何循环遍历 Pandas df?【英文标题】:How To Loop Through 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)
【问题讨论】:
【参考方案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 的研究元素(除非您要查找的内容非常不标准)。
【讨论】:
以上是关于如何循环遍历 Pandas df?的主要内容,如果未能解决你的问题,请参考以下文章
pandas.DataFrame.loc好慢,怎么遍历访问DataFrame比较快