我正在尝试将列从多个数据帧转换为布尔值。 我写的转换它们的内容如下:
for i in range(0,4):
df[i][['Col1','Col2','Col3','Col4']].astype('bool')
但是它不会转换任何东西。并非数据帧中的所有列都需要转换为布尔值,因此我仅在上面选择了那些需要转换的列。
当我打印df[1].dtypes
时(但是从其他数据框中也得到相同的结果),以上所有列都是对象,而不是布尔值。
能否请您告诉我代码中的错误位置?
答案 0 :(得分:1)
请注意,.astype
返回一个新对象,并且不会进行适当的更改。为了执行更改,请运行:
for i in range(0,4):
df[i][['Col1','Col2','Col3','Col4']] = df[i][['Col1','Col2','Col3','Col4']].astype('bool')