Skip to main content
 首页 » 编程设计

python之将 bool 数据帧转换为二进制数数组

2025年05月04日23shangdawei

我有一个 bool 型 pandas DataFrame,如下所示

aaa = pd.DataFrame([[False,False,False], [True,True,True]]) 

我想将它转换为二进制数数组,对于这个 DataFrame“aaa”, 结果是 [000,111]

如何实现这种转换?

任何帮助将不胜感激。谢谢

请您参考如下方法:

你可以这样做:

aaa = pd.DataFrame([[False,False,False], 
                      [True,True,True]]) 
aaa=aaa.astype(int) 

那么aaa就是

    0   1   2 
0   0   0   0 
1   1   1   1 

如果你想得到数组['000','111']你可以这样做:

aaa = pd.DataFrame([[False,False,False], 
                      [True,True,True]]) 
aaa=aaa.astype(int).astype(str) 
[''.join(i) for i in aaa.values.tolist()]