我有一个从pandas数据帧获得的numpy数组
data_array = df['column_name'].to_numpy()
结果数组与原始列一样具有dtype对象,并且由形状为(2000,)的整数值列表组成。我希望它是int32类型的。但是,当我尝试使用
data_array = data_array.astype(np.int32)
我得到例外
setting an array element with a sequence.
数组中的所有元素都是具有相同整数(一百个左右)的列表。
一般格式为:
[[1,0,1,0],[0,0,0,0],[1,0,0,1]]
我明显缺少什么吗?还是有另一种更好的方法将熊猫数据帧转换为所需类型的numpy数组?
因为在我看来我已经用完了所有选项。
我想出了办法,尽管这种方法有些古怪。
data_array = np.array(df['column_name'].to_list(), np.int32)
我仍然不确定为什么需要它。但是显然,可以将二维整数列表转换为具有正确dtype的numpy数组,并使用一个numpy数组列表而不是二维列表。