inputs=pd.get_dummies(inputs,dummy_na=True,dtype=int)结果还还是bool型
时间: 2024-09-19 09:08:08 浏览: 55
hw1.zip_6hw.ent_6hw1.ent_building_structured design
当你使用pandas的`get_dummies`函数将类别变量转换为虚拟/哑变量(one-hot encoding)时,如果设置了`dummy_na=True`,它会在缺失值的地方添加一个新的虚拟列表示存在缺失。默认情况下,这些新添加的列会被赋予整数类型,通常是0代表缺失,非缺失的值会用1或其他数字标识。
如果你希望所有输出都是布尔类型(True/False),而不是整数,你需要在调用`get_dummies`之后对结果进行进一步处理。例如,你可以直接检查每个列是否等于缺失值的特殊标记(在这种情况下可能是0),然后将它们转换成布尔类型。可以这样做:
```python
import pandas as pd
# 假设df是包含输入数据的DataFrame
dummies = pd.get_dummies(inputs, dummy_na=True, dtype=int)
booleans = (dummies != 0).astype(bool)
# 或者,如果你想要更简洁的方式,可以链式操作:
booleans = (pd.get_dummies(inputs, dummy_na=True, dtype=int) != 0).astype(bool)
```
阅读全文