我需要创建列联表,但我只知道如何单独创建
我创建了一个数据帧(df
),其中包含关于一个disease
、age
和delta
的信息(预测年龄和实际年龄之间的差异,其中“0”、“1”和“-1”是正常/过/欠年龄)
df = pd.DataFrame(np.array([[50,0,0],[42,1,1],[25,0,0], [25,1,1],[42,-1,0],[25,0,0]]),columns=['age', 'delta', 'disease'])
在此之后,我想与25岁的人一起创建df
,为此我要:
df25 = df.loc[df['age'] == 25]
之后,我可以通过以下方式创建列联表:
pd.crosstab(index=df25['disease'], columns=df25['delta'])
现在表已经准备好了,但是我真正的df
太大了,有很多独特的年龄。我试图创建循环,但没有成功。你能帮我把这个过程自动化吗?我需要适合每个年龄段的桌子
您可以通过^{} 使用dict理解创建年龄组词典,如下所示:
然后,您可以通过以下方式访问各个年龄组(如25岁):
这将给出与
df25 = df.loc[df['age'] == 25]
相同的结果:您可以通过以下方式获得所有年龄组的列表:
结果:
要打印所有年龄组的上下文表,您可以使用:
输出:
所有列联表均为d
相关问题 更多 >
编程相关推荐