我试过这段代码,它工作得很好,但是当我从
dx=dm.groupby(["RIAGENDR","RIDAGEYR"])["DMDMARTL"]
它告诉我错误,但为什么是什么原因?? 请帮帮我
dm=ds[ds["RIAGENDR"]=="male"]
dm.RIDAGEYR=pd.cut(dm.RIDAGEYR,[18,30,40,50,60,70,80,100])
dx=dm.groupby(["RIAGENDR","RIDAGEYR"])["DMDMARTL"]
dx=dx.value_counts()
dx=dx.unstack()
dx = dx.apply(lambda x: x/x.sum(), axis=0)
#dx=dx.to_string(float_format="%.3f")
dx
```
您应该从
groupby
操作中删除[]
括号为了清楚起见,如果要按2个变量分组,则应使用以下代码,该代码使用了
list
个变量:如果要按1个变量分组,则不应使用
list
个变量,而应使用单个变量:如果只有一个变量,则不应使用[]:
或者一种方法是使用:
您可以通过层次索引中的以下链接获得此信息:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html
相关问题 更多 >
编程相关推荐