我有一个带有 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*1
或 df2 = df*1
从代码中重新分配 df。第一个将防止重复复制。
关于python - 使用 1 和 0 将 bool 数据帧写入 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33601010/