Python 如何将多个柱重塑为一个柱
您好,我有一个数据集,它包含许多列和214行,当我打印数据时,它看起来像:Python 如何将多个柱重塑为一个柱,python,pandas,numpy,Python,Pandas,Numpy,您好,我有一个数据集,它包含许多列和214行,当我打印数据时,它看起来像: [[ 1.52101 13.64 4.49 ... 8.75 0. 0. ] [ 1.51761 13.89 3.6 ... 7.83 0. 0. ] [ 1.51618 13.53 3.55 ... 7.78 0. 0. ] ... [ 1.52065 14.36 0.
[[ 1.52101 13.64 4.49 ... 8.75 0. 0. ]
[ 1.51761 13.89 3.6 ... 7.83 0. 0. ]
[ 1.51618 13.53 3.55 ... 7.78 0. 0. ]
...
[ 1.52065 14.36 0. ... 8.44 1.64 0. ]
[ 1.51651 14.38 0. ... 8.48 1.57 0. ]
[ 1.51711 14.23 0. ... 8.62 1.67 0. ]]
现在我想重塑它,但当我呼吁:
X = X.reshape(214, 1)
我得到
cannot reshape array of size 1926 into shape (214,1)
是否有可能将其重塑为214,1?我不能把它改成1926,1,或者比如214,9,我需要214,1。也许我没有准备正确的数据
我的完整代码
names = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k']
dataset = pandas.read_csv('./glass.data', sep= ',', names = names)
Y = np.array(dataset['k'].values)
Y = Y.reshape(214, 1)
del dataset['k']
del dataset['a']
X = np.array(dataset.values)
print X
X = X.reshape(214, 1)
print X
我的理解是,您有一个大小为1926的arrayX,即您的数组包含1926个元素。现在,您需要将1926个元素放入形状为214,1的数组中,该数组中只有214个元素的空间
cannot reshape array of size 1926 into shape (214,1)
这应该告诉您,不可能将1926个元素放入只有214个点的数组中
X = np.array(dataset.values)
这一行可能是您的错误。是否确实要将数据集中的所有值存储在X中?或者,您是否只希望一列中的值显示为“b”,就像您用“k”表示Y一样
X = np.array(dataset['b'].values)
你只想要第一列吗?您想要前214个值吗?显然,大小数组不能适应该形状,请检查并创建一个需要214,1的数组?数据集的一列?9列?什么是X形?