数据帧 df 中的某些列 df.column 存储为数据类型 int64。
值全部为 1 或 0。
有没有办法用布尔值替换这些值?
可以使用 pandas 中的 astype 方法将 DataFrame 的某一列从 int64 类型转换为布尔类型。具体方法如下:
pandas
astype
int64
import pandas as pd # 假设你的 DataFrame 是这样的 data = { 'column': [1, 0, 1, 1, 0, 0], 'other_column': [10, 20, 30, 40, 50, 60] } df = pd.DataFrame(data) # 将 'column' 列转换为布尔类型 df['column'] = df['column'].astype(bool) print(df) print(df.dtypes)
astype(bool)
column
column other_column 0 True 10 1 False 20 2 True 30 3 True 40 4 False 50 5 False 60 column bool other_column int64 dtype: object
可以看到,column 列中的值已经成功地从 1 和 0 转换为 True 和 False,数据类型也变成了 bool。这样可以更符合语义,并且在某些情况下可能会使代码更具可读性。
1
0
True
False
bool