用空格分隔值到ndarray

时间:2018-08-16 00:59:51

标签: python machine-learning neural-network conv-neural-network data-analysis

我正在尝试为我的机器学习模型导入数据集。 数据是作为每个图像的像素值存储的图像。 图像尺寸为48X48。 我需要将其转换为ndarray,但由于它的空间是分开的,所以

X = data[:, 1].reshape(data.shape[0],1,48, 48).astype( 'float32' )

不起作用。 我需要帮助将此数据转换为(nX48X48)的ndarray。(n->行数)。 编辑:- 我尝试过,

`data=pd.read_csv('../input/fer2013.csv').values
X=data[:,1]
for i in range(len(X)):
       X[i]=np.asarray(X[i].split(" "),dtype=np.float32)
       X[i]=X[i].reshape(1,48,48).astype('float32')`

它不会改变列的形状。 我希望X的形状为(n,1,48,48) 但是,执行上述操作可使形状保持为(n)。sample row of data

数据格式: pixels column of dataset

感谢和问候,

1 个答案:

答案 0 :(得分:2)

从您的描述来看,似乎各列用空格分隔,而各行用换行符分隔。如果是这种情况,则可以使用Numpy的genfromtxt()方法。

from numpy import genfromtxt
my_data = genfromtxt(f, delimiter=' ')

如果已经以字符串string_data的形式读取了以换行符分隔的空格,则需要先将其拆分为几行:

f = string_data.split('\n')

从您的链接看来,您似乎可以只通过data["pixels"]系列。