python - 使用 1 和 0 将 bool 数据帧写入 csv

标签 python csv pandas

我有一个带有 bool 值的 Pandas 数据框,即

    col1   col2
1   True   False
2   False  True
3   True   True

当我使用 pandas 的 DataFrame.to_csv 方法时,生成的数据框看起来像

,col1,col2
1,True,False
2,False,True
3,True,True

有没有办法将 bool 变量写成 1 和 0(更节省空间),即

,col1,col2
1,1,0
2,0,1
3,1,1

无需先转换整个数据框?

最佳答案

其实很简单,df乘以1就可以了。

import pandas as pd
import io

data = """
    col1   col2
1   True   False
2   False  True
3   True   True
    """

df = pd.read_csv(io.StringIO(data), delimiter='\s+')

print(df*1)

这会将其更改为:

   col1  col2
1     1     0
2     0     1
3     1     1

从那里您可以通过执行 df = df*1df2 = df*1 从代码中重新分配 df。第一个将防止重复复制。

关于python - 使用 1 和 0 将 bool 数据帧写入 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33601010/

相关文章:

python - 在 python 中查找大型二维矩阵中的模式的有效方法(Scipy)

python - Windows 上的 Tensorflow 重新训练

python - 棉花糖循环导入

python - 在 tox 环境中为 pip install 命令设置 https 代理

python - 在 numpy 中按间隔分割数组的简单方法

python - 如何传递第一列值列值在pandas数据框中具有过滤器

java - 构造函数错误 - 无法应用于给定类型

python - 将 csv 导入为整数列表列表

python - 使用 Python 3 将大型 CSV 文件转换为 excel

python Pandas : Importing stacked dictionary of lists to create multi-indexed DataFrame