我正在尝试为我的机器学习模型导入数据集。 数据是作为每个图像的像素值存储的图像。 图像尺寸为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
感谢和问候,
答案 0 :(得分:2)
从您的描述来看,似乎各列用空格分隔,而各行用换行符分隔。如果是这种情况,则可以使用Numpy的genfromtxt()
方法。
from numpy import genfromtxt
my_data = genfromtxt(f, delimiter=' ')
如果已经以字符串string_data
的形式读取了以换行符分隔的空格,则需要先将其拆分为几行:
f = string_data.split('\n')
从您的链接看来,您似乎可以只通过data["pixels"]
系列。