如何合并 pandas 交叉表的类别? [英] How do I merge categories for crosstab in pandas?
本文介绍了如何合并 pandas 交叉表的类别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我的熊猫数据框具有3个类别的变量X
:[A, B, C]
和2个类别的变量Y
:[D,E]
.我想用类似这样的标签:
Suppose my pandas dataframe has 3 categories for variable X
: [A, B, C]
and 2 categories for variable Y
:[D,E]
. I want to cross-tab this, with something like:
+--------+----------------------+-----+
| X/Y | D | E |
+--------+----------------------+-----+
| A or B | count(X=A or B, Y=D) | ... |
| C | count(X=C),Y=D) | ... |
+--------+----------------------+-----+
推荐答案
这是您要寻找的吗?
import pandas as pd
import numpy as np
x = np.random.choice(['A', 'B', 'C'], size=10)
y = np.random.choice(['D', 'E'], size=10)
df = pd.DataFrame({'X':x, 'Y':y})
df.head()
输出:
X Y
0 A D
1 B D
2 B E
3 B D
4 A E
数据框修改:
df['X'] = df['X'].apply(lambda x: 'A or B' if x == 'A' or x == 'B' else x)
交叉表应用程序:
pd.crosstab(df.X, df.Y)
输出:
Y D E
X
A or B 1 3
C 4 2
这篇关于如何合并 pandas 交叉表的类别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文