需要按帮助分组
我想输出一个频率表,显示所有年龄组的女性("RIAGENDR"==2(的婚姻状况("DMDMARTLx"(。下面的代码返回了年龄组分层并正确计算了婚姻状况,但我很难理解为什么我不能从数据框中只选择女性。
da["agegrp"] = pd.cut(da.RIDAGEYR, [18, 30, 40, 50, 60, 70, 80])
da["RIAGENDRf"] = da["RIAGENDR"] == 2
da.groupby(['agegrp', 'RIAGENDRf']) ['DMDMARTLx'].value_counts()
agegrp RIAGENDRf DMDMARTLx
(18, 30] False Never Married 262
Married 104
Living w Partner 95
Separated 7
Divorced 2
Widowed 2
True Never Married 259
Married 158
Living w Partner 114
Divorced 11
Separated 11
...
如果我使用[]来选择da["RIAGENDR"]==2内的数据,我会得到一个值错误:
da["agegrp"] = pd.cut(da.RIDAGEYR, [18, 30, 40, 50, 60, 70, 80])
da["RIAGENDRf"] = [da["RIAGENDR"]==2]
da.groupby(['agegrp', 'RIAGENDRf']) ['DMDMARTLx'].value_counts()
ValueError: Length of values does not match length of index
这是否意味着我需要填写或删除缺失的数据?
如果你想要一个女性数据帧,那么你必须写:
da_women = da[da["RIAGENDR"] == 2]