Используя оператор &
, не забудьте обернуть подзапросы с помощью ()
:
males = df[(df[Gender]=='Male') & (df[Year]==2014)]
Чтобы сохранить ваши данные в файле dict
с помощью цикла for:
from collections import defaultdict
dic={}
for g in ['male', 'female']:
dic[g]=defaultdict(dict)
for y in [2013, 2014]:
dic[g][y]=df[(df[Gender]==g) & (df[Year]==y)] #store the DataFrames to a dict of dict
Демо для вашего getDF
:
def getDF(dic, gender, year):
return dic[gender][year]
print genDF(dic, 'male', 2014)