Numpy数据类型调换astype,loadtxt的编码难题

如下所示:

Numpy matrix 必须是2维的,但是 numpy arrays (ndarrays)
可以是多维的(1D,2D,3D····ND),matrix是Array的一个小的分支,包含于Array。

1、查看数据类型

data_array = np.loadtxt(filename,   #文件名
              delimiter=',', #分隔符
              skiprows=1,  #跳过第一行
              dtype=bytes,   #数据类型
              usecols=use_col_index_lst).astype(str) #用指定列
  '''
  I think np.loadtxt("tile", dtype=bytes, delimiter="\n").astype(str) might work, 
  but I agree completely with the overkill point (解决python2,python3编码不一样的问题)
import numpy as np
>>> m = np.mat([[1,2],[3,4]])
>>> m[0]   #读取一行
matrix([[1, 2]])
>>> m[:,0]   #读取一列
matrix([[1],
  [3]])
In [11]: arr = np.array([1,2,3,4,5])
In [12]: arr
Out[12]: array([1, 2, 3, 4, 5])
// 该命令查看数据类型
In [13]: arr.dtype
Out[13]: dtype('int64')
In [14]: float_arr = arr.astype(np.float64)
// 该命令查看数据类型
In [15]: float_arr.dtype
Out[15]: dtype('float64')

在自己读取数据的时候,前面总是会有B。这个解答是在国外网站找到的。另一个答案在知乎上。

numpy中数组和矩阵的区别与相互转换

2、转换数据类型

网站地图xml地图