Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫在分组后计算中位数_Python_Pandas_Dataframe - Fatal编程技术网

Python 熊猫在分组后计算中位数

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岁的人群。然后计算每个教育程度范围内的女性和男性家庭规模中值 只需

我试图回答以下关于数据帧作为快照的问题。我尝试下面的代码,它返回的错误如下所示。如果我删除了groupby中的一列。代码不会返回错误。请告知

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()