我的dataframe有4列(一个因变量和3个独立的)。
这是一个样本:
我想要的输出是一个应急表,如下所示:
我似乎只能使用一个自变量获得一个应急表--使用以下代码(我的df称为“表”)
pd.crosstab(index=table['Dvar'],columns=table['Var1'])
我似乎无法向this...Is中添加任何其他变量--实现这一点的唯一方法--为每个var (1到3)创建一个单独的应急表,然后合并/加入它们?
发布于 2022-11-02 19:00:23
首先,应急表是用来显示功能之间的相关性的。
如果您可能希望看到独立特性和依赖特性之间的相关性,请遍历以下代码:
pd.crosstab([table['Var1'],table['Var2'],table['Var3']],
table['Dvar'], margins = False)
但是,正如您提到的,要获得您想要的输出,请使用pandas.DataFrame.groupby
语句如下:
table.groupby('Dvar').sum()
发布于 2022-11-02 18:33:37
对于crosstab
来说,这不是一个好的用例,因为您已经有了应急表(只是没有聚合),而是使用一个groupby.sum
。
df = pd.DataFrame([[1,0,0,0],
[1,1,1,0],
[0,1,1,1]], columns=['Var1', 'Var2', 'Var3', 'Dvar'])
out = df.groupby('Dvar', as_index=False).sum()
产出:
Dvar Var1 Var2 Var3
0 0 2 1 1
1 1 0 1 1
https://stackoverflow.com/questions/74294107
复制相似问题