在运行沐神的代码时出现了报错:
Traceback (most recent call last):
File "D:\zmm\pycharm project\pythonProject\study1\kaggle2.py", line 78, in <module>
train_features = torch.tensor(all_features[:n_train].values, dtype=torch.float32)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: can't convert np.ndarray of type numpy.object_. The only supported types are: float64, float32, float16, complex64, complex128, int64, int32, int16, int8, uint64, uint32, uint16, uint8, and bool.
这个错误提示表明我正在尝试将一个 numpy.ndarray
转换为 PyTorch 的张量,但这个 numpy.ndarray
的数据类型是 numpy.object_
,而不是支持的数值类型(如float32,int32等)。
这时我们需要加上dtype=int,通过指定 dtype=int
,确保了生成的虚拟变量是整型,从而避免了类型不匹配的问题。这使得后续将数据转换为 PyTorch 张量时能够顺利进行,而不会出现TypeError
all_features=pd.get_dummies(all_features,dummy_na=True,dtype=int)
祝大家代码都能运行成功!