gpt4 book ai didi

python - 等价于多列的 Pandas 分解?

转载 作者:太空宇宙 更新时间:2023-11-04 03:13:25 24 4
gpt4 key购买 nike

我有一个数据框的三个二进制类型的列,它们的值一起构成了有意义的数据分组。为了引用该组,我目前正在创建一个新专栏,像这样进行硬编码二进制编码:

data['type'] = data['a'] + 2 * data['b'] + 4 * data['c']

Pandas factorize 将为序列的每个不同值分配一个整数,但它似乎不适用于多列的组合。对于这种情况,是否有更通用的 Pandas 功能?如果这样的函数泛化到任意数量类别的 K 个不同的分类变量,而不是局限于二元变量,那就太好了。

如果这样的事情不存在,是否会对拉取请求感兴趣?

最佳答案

您可以尝试以下两种方法:

df = pd.DataFrame({'a': [1, 1, 0], 
'b': [0, 1, 0],
'c': [1, 1, 1]})

>>> df
a b c
0 1 0 1
1 1 1 1
2 0 0 1

>>> ["".join(row) for row in df[['a', 'b', 'c']].values.astype(str)]
Out[22]: ['101', '111', '001']

>>> [bytearray("".join(row)) for row in df[['a', 'b', 'c']].values.astype(str)]
Out[23]: [bytearray(b'101'), bytearray(b'111'), bytearray(b'001')]

关于python - 等价于多列的 Pandas 分解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37175022/

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