首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python/ Pandas:使用多个变量创建一个应急表

Python/ Pandas:使用多个变量创建一个应急表
EN

Stack Overflow用户
提问于 2022-11-02 18:29:19
回答 2查看 48关注 0票数 2

我的dataframe有4列(一个因变量和3个独立的)。

这是一个样本:

我想要的输出是一个应急表,如下所示:

我似乎只能使用一个自变量获得一个应急表--使用以下代码(我的df称为“表”)

代码语言:javascript
运行
复制
pd.crosstab(index=table['Dvar'],columns=table['Var1'])

我似乎无法向this...Is中添加任何其他变量--实现这一点的唯一方法--为每个var (1到3)创建一个单独的应急表,然后合并/加入它们?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-02 19:00:23

首先,应急表是用来显示功能之间的相关性的。

如果您可能希望看到独立特性和依赖特性之间的相关性,请遍历以下代码:

代码语言:javascript
运行
复制
pd.crosstab([table['Var1'],table['Var2'],table['Var3']],
            table['Dvar'], margins = False)

但是,正如您提到的,要获得您想要的输出,请使用pandas.DataFrame.groupby语句如下:

代码语言:javascript
运行
复制
table.groupby('Dvar').sum()
票数 2
EN

Stack Overflow用户

发布于 2022-11-02 18:33:37

对于crosstab来说,这不是一个好的用例,因为您已经有了应急表(只是没有聚合),而是使用一个groupby.sum

代码语言:javascript
运行
复制
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()

产出:

代码语言:javascript
运行
复制
   Dvar  Var1  Var2  Var3
0     0     2     1     1
1     1     0     1     1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74294107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档