Python 熊猫在分组后计算中位数
我试图回答以下关于数据帧作为快照的问题。我尝试下面的代码,它返回的错误如下所示。如果我删除了groupby中的一列。代码不会返回错误。请告知Python 熊猫在分组后计算中位数,python,pandas,dataframe,Python,Pandas,Dataframe,我试图回答以下关于数据帧作为快照的问题。我尝试下面的代码,它返回的错误如下所示。如果我删除了groupby中的一列。代码不会返回错误。请告知 df.loc[df.age_group == pd.Interval(left=30, right=40)].groupby(df[['Gender','Education']]).DMDHHSIZ.median() ValueError:“”的分组不是一维的 问题:样本仅限于30至40岁的人群。然后计算每个教育程度范围内的女性和男性家庭规模中值 只需
df.loc[df.age_group == pd.Interval(left=30, right=40)].groupby(df[['Gender','Education']]).DMDHHSIZ.median()
ValueError:“”的分组不是一维的
问题:样本仅限于30至40岁的人群。然后计算每个教育程度范围内的女性和男性家庭规模中值
只需将列列表传递给groupby:
.groupby(['Gender','Education'])
来自声明和图片:
问题:样本仅限于30至40岁的人群。
然后计算每个区域内女性和男性的平均家庭规模
教育程度
然后您可以首先过滤年龄组
,按照图像中的模式为(30,40)
,然后计算分组后的中值()
,按性别和教育
df.loc[df.age_group == '(30,40]'].groupby(['Gender','Education']).DMDHHSIZ.median()
你的groupby应该是一个列表,而不是一个dataframe,但是age_group是一个表示间隔的字符串,你正在将它与中值()的结果进行比较,中值()是一个浮点数。什么是DMDHHSIZ?谢谢,删除数据框是有效的。DMDHHSIZ是Householdsize系列。谢谢。现在它有效了。对熊猫还不熟悉。
df.loc[df.age_group == '(30,40]'].groupby(['Gender','Education']).DMDHHSIZ.median()