将列从多个数据框转换为布尔值

时间:2020-05-16 22:12:19

标签: python pandas

我正在尝试将列从多个数据帧转换为布尔值。 我写的转换它们的内容如下:

for i in range(0,4):
        df[i][['Col1','Col2','Col3','Col4']].astype('bool')

但是它不会转换任何东西。并非数据帧中的所有列都需要转换为布尔值,因此我仅在上面选择了那些需要转换的列。 当我打印df[1].dtypes时(但是从其他数据框中也得到相同的结果),以上所有列都是对象,而不是布尔值。

能否请您告诉我代码中的错误位置?

1 个答案:

答案 0 :(得分:1)

请注意,.astype返回一个新对象,并且不会进行适当的更改。为了执行更改,请运行:

for i in range(0,4):
    df[i][['Col1','Col2','Col3','Col4']] = df[i][['Col1','Col2','Col3','Col4']].astype('bool')