我有一个数据帧列['Cause']
,其dtype为object
,具有以下值:
Cause
Water
Fire
Earthquake
Flood
现在,当我在此列上使用get_dummies()函数时,我又获得了另外4个具有二进制值的列,如下所示:
Water | Fire | Earthquake | Flood
我的查询是,所有其他4列的数据类型均为uint8
。是否需要将其转换为int64
。
答案 0 :(得分:1)
是的,默认情况下,如果您不提及dtype,它将被转换为uint8。
您可以这样做
pd.get_dummies(..., dtype=int64)
答案 1 :(得分:0)
嗯,这取决于您,它的行为仍然像整数...
因此您可以像使用任何其他整数一样使用它,但是您还应该知道有一个IndexPath
,默认情况下已经str.get_dummies
:
int64
答案 2 :(得分:0)
uint8
是大熊猫用来与之形成“虚拟列”的默认数据类型。
您随时可以将其更改为其他 dtype 。
但是请记住,该dtype将分配给所有已虚拟化的列。 例如:
pd.get_dummies(df, columns=['col1'], dtype='str')
将创建虚拟化的列,所有列的数据类型为 str 。
答案 3 :(得分:0)
您无需再次转换。将其转换为length()
时,您可以定义get_dummies()
:
dtype