【发布时间】:2014-03-31 22:06:39
【问题描述】:
要按单列过滤数据框 (df),如果我们考虑包含男性和女性的数据,我们可能会:
males = df[df[Gender]=='Male']
问题 1 - 但是如果数据跨越多年,而我只想查看 2014 年的男性呢?
在其他语言中,我可能会这样做:
if A = "Male" and if B = "2014" then
(除非我想这样做并在新数据框对象中获取原始数据框的子集)
问题 2。如何循环执行此操作,并为每个唯一的年份和性别集创建一个数据框对象(即 df 为:2013-Male、2013-Female、2014-Male 和 2014-Female
for y in year:
for g in gender:
df = .....
【问题讨论】:
-
您要过滤还是分组?如果您想为每组独特的年份和性别创建一个单独的 DataFrame,请查看
groupby。 -
This answer 全面概述了 pandas 中的布尔索引和逻辑运算符。