gpt4 book ai didi

python - Pandas 将整数零和一转换为 bool 值

转载 作者:行者123 更新时间:2023-12-04 14:44:33 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





pandas data frame transform INT64 columns to boolean

(2 个回答)


12 个月前关闭。




我有一个数据帧,其中包含一个 0 和 1 的热编码列,其类型为 int32 .

a     b      h1      h2     h3
xy za 0 0 1
ab cd 1 0 0
pq rs 0 1 0
我想将 h1、h2 和 h3 列转换为 bool 值,所以这就是我所做的..
df[df.columns[2:]].astype(bool)
但这将 h1-h3 的所有值更改为 TRUE .
我也试过
df[df.columns[2:]].map({0:False, 1:True})
但这也不起作用。 (AttributeError: 'DataFrame' 对象没有属性 'map')
int32 转换数据帧的特定列的最佳方法是什么? 0 和 1 到 bool 值 ( True/ False )?

最佳答案

您可以使用 DataFrame.iloc 在前 2 个之后按位置选择所有列,转换为 bool 值并分配回:

df.iloc[:, 2:] = df.iloc[:, 2:].astype(bool)
print (df)
a b h1 h2 h3
0 xy za False False True
1 ab cd True False False
2 pq rs False True False
或者创建字典来转换列名而不先 2 :
df = df.astype(dict.fromkeys(df.columns[2:], bool))
print (df)
a b h1 h2 h3
0 xy za False False True
1 ab cd True False False
2 pq rs False True False

关于python - Pandas 将整数零和一转换为 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64968646/

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