pandas 数据框将 INT64 列转换为布尔值 [英] pandas data frame transform INT64 columns to boolean

查看:38
本文介绍了pandas 数据框将 INT64 列转换为布尔值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

数据框 df 中的某些列 df.column 存储为数据类型 int64.

Some column in dataframe df, df.column, is stored as datatype int64.

这些值都是 1 或 0.

The values are all 1s or 0s.

有没有办法用布尔值替换这些值?

Is there a way to replace these values with boolean values?

推荐答案

df['column_name'] = df['column_name'].astype('bool')

例如:

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.random_integers(0,1,size=5), 
                  columns=['foo'])
print(df)
#    foo
# 0    0
# 1    1
# 2    0
# 3    1
# 4    1

df['foo'] = df['foo'].astype('bool')
print(df)

产量

     foo
0  False
1   True
2  False
3   True
4   True

<小时>

给定一个 column_names 列表,您可以使用以下方法将多个列转换为 bool dtype:


Given a list of column_names, you could convert multiple columns to bool dtype using:

df[column_names] = df[column_names].astype(bool)

如果您没有列名列表,但希望转换所有数字列,那么您可以使用

If you don't have a list of column names, but wish to convert, say, all numeric columns, then you could use

column_names = df.select_dtypes(include=[np.number]).columns
df[column_names] = df[column_names].astype(bool)

这篇关于pandas 数据框将 INT64 列转换为布尔值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆