gpt4 book ai didi

python - Pandas 数据帧 : How to convert binary columns into one categorical column?

转载 作者:太空狗 更新时间:2023-10-30 02:39:48 24 4
gpt4 key购买 nike

给定一个 pandas DataFrame,如何将多个二进制列(其中 1 表示值存在,0 表示不存在)转换为单个分类列?

另一种思考方式是如何执行“反向pd.get_dummies()”?

下面是一个将分类列转换为多个二进制列的示例:

import pandas as pd
s = pd.Series(list('ABCDAB'))
df = pd.get_dummies(s)
df
A B C D
0 1 0 0 0
1 0 1 0 0
2 0 0 1 0
3 0 0 0 1
4 1 0 0 0
5 0 1 0 0

我想完成的是给定一个数据框

df1
A B C D
0 1 0 0 0
1 0 1 0 0
2 0 0 1 0
3 0 0 0 1
4 1 0 0 0
5 0 1 0 0

我可以把它转换成

df1
A B C D category
0 1 0 0 0 A
1 0 1 0 0 B
2 0 0 1 0 C
3 0 0 0 1 D
4 1 0 0 0 A
5 0 1 0 0 B

最佳答案

一种方法是使用 idxmax 找到 1:

In [32]: df["category"] = df.idxmax(axis=1)

In [33]: df
Out[33]:
A B C D category
0 1 0 0 0 A
1 0 1 0 0 B
2 0 0 1 0 C
3 0 0 0 1 D
4 1 0 0 0 A
5 0 1 0 0 B

关于python - Pandas 数据帧 : How to convert binary columns into one categorical column?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43381438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com