要按单个列筛选数据帧(df),如果考虑男性和女性的数据,我们可以:
males = df[df[Gender]=='Male']
问题1——但是如果数据跨越多年,我只想在2014年看到男性,那会怎么样?
在其他语言中,我可能会这样做:
if A = "Male" and if B = "2014" then
(除了我想这样做并在新的dataframe对象中获取原始dataframe的子集)
问题2。如何在循环中执行此操作,并为每个唯一的年份和性别集创建一个数据帧对象(即df for:2013 Male、2013 Female、2014 Male和2014 Female
for y in year:
for g in gender:
df = .....
使用
&
运算符时,不要忘记用()
包装子语句:要使用for循环将数据帧存储在
dict
中,请执行以下操作:编辑:
为您的
getDF
演示:对于要用作筛选器且依赖于多个列的更一般的布尔函数,可以使用:
其中f是一个应用于col_1和col_2的每对元素(x1,x2)的函数,并根据需要的任何条件(x1,x2)返回True或False。
从pandas 0.13开始,这是最有效的方法。
相关问题 更多 >
编程相关推荐