数据框 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 列转换为布尔值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!