将多个二进制列转换为交叉表
Convert multiple binary columns into crosstab
我正在尝试将以下具有多个二进制变量的数据集转换为交叉表。
df = pd.DataFrame({'colour_blue': [1, 0, 1], 'colour_green': [0, 1, 1],
'colour_red': [1, 1, 0], 'emotion_happy': [1, 1, 1],'emotion_angry': [0, 1, 1], 'emotion_sad': [0, 0, 1]})
进入以下交叉表,但我运气不好
emotion
blue
green
red
happy
2
2
2
angry
1
2
1
sad
1
1
0
这是矩阵乘法:
df.filter(like='emotion').T @ df.filter(like='colour')
输出:
colour_blue colour_green colour_red
emotion_happy 2 2 2
emotion_angry 1 2 1
emotion_sad 1 1 0
我正在尝试将以下具有多个二进制变量的数据集转换为交叉表。
df = pd.DataFrame({'colour_blue': [1, 0, 1], 'colour_green': [0, 1, 1],
'colour_red': [1, 1, 0], 'emotion_happy': [1, 1, 1],'emotion_angry': [0, 1, 1], 'emotion_sad': [0, 0, 1]})
进入以下交叉表,但我运气不好
emotion | blue | green | red |
---|---|---|---|
happy | 2 | 2 | 2 |
angry | 1 | 2 | 1 |
sad | 1 | 1 | 0 |
这是矩阵乘法:
df.filter(like='emotion').T @ df.filter(like='colour')
输出:
colour_blue colour_green colour_red
emotion_happy 2 2 2
emotion_angry 1 2 1
emotion_sad 1 1 0