【问题标题】:Space seprated values to ndarray空格分隔值到 ndarray
【发布时间】:2018-08-16 00:59:51
【问题描述】:

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

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

不起作用。 我需要帮助将这些数据转换为 ndarray of(nX48X48).(n->no. of rows.) 编辑:- 我试过了,

`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

感谢和问候,

【问题讨论】:

  • 是文本文件吗?
  • 如果它是空格分隔的,你可能想要np.loadtxt。您可能不得不摆弄参数以匹配您的确切格式,但听起来您可能只有默认格式(换行符分隔的行或没有引号的空格分隔的列)。
  • @sacul 它是一个 csv 文件。

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


【解决方案1】:

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

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

如果您已经将空格换行符分隔的混乱读入为字符串string_data,则需要先将其拆分为行:

f = string_data.split('\n')

从您的链接看来,您可能只需传入data["pixels"] 系列即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多