pandas 为什么to_numpy方法将一个int数据框列转换为字符串列?

qoefvg9y  于 2023-06-28  发布在  其他
关注(0)|答案(1)|浏览(85)

我有 Dataframe 如下...

Age  Sex  CP TrestBPS Cholesteral  Sugar  ECG Heart rate  Exercise  
58    1   2      150         270      1    1        111         0  

Oldpeak  Slope Nb Vessel  CA  Thal  
0.8      2         0      3     1

在该列中,数值(Nb血管)为整数。我需要把它转换成数组。我使用to_numpy方法。但它会将此列的值转换为字符串,如下所示。
[[58 1 2 ... '0' 3 1] [48 1 2 ... '0' 3 1] [46 1 3 ... '0' 2 1] ... [62 1 0 ... '1' 3 1] [44 1 2 ... '1' 2 1] [59 1 1 ... '0' 2 1]]
我也尝试过提供dtype作为float32,但它不能解决这个问题。
您能帮助解决这个问题吗?我做错了什么吗?

xfyts7mz

xfyts7mz1#

考虑到@hpaulj的问题,您必须将DataFrame中的"Nb Vessel"列从object转换为int。您可以通过以下方式执行此操作:

df = df.astype({'Nb Vessel': 'int32'})

然后你可以使用to_numpy()将其转换为numpy数组:

np_arr = df.to_numpy()

numpy数组中的结果值应该是int类型。

相关问题