【发布时间】:2018-11-30 22:32:15
【问题描述】:
我有一个熊猫系列 features 具有以下值 (features.values)
array([array([0, 0, 0, ..., 0, 0, 0]), array([0, 0, 0, ..., 0, 0, 0]),
array([0, 0, 0, ..., 0, 0, 0]), ...,
array([0, 0, 0, ..., 0, 0, 0]), array([0, 0, 0, ..., 0, 0, 0]),
array([0, 0, 0, ..., 0, 0, 0])], dtype=object)
现在我真的希望它被识别为矩阵,但如果我这样做了
>>> features.values.shape
(10000,)
而不是(10000, 3000),这是我所期望的。
我怎样才能让它被识别为 2d 而不是以数组为值的 1d 数组。还有为什么它不会自动将其检测为二维数组?
【问题讨论】:
-
试试
np.stack(features)。它将数组视为数组列表,并将它们连接到新轴上。np.vstack(features)在这种情况下也可以使用。这是假设所有内部数组都具有相同的形状。 -
@anishtain4,您的链接适用于
pandas数据框,而不是 numpy 数组。 -
@hpaulj "我有一个熊猫系列"
-
@hpaulj
np.stack效果很好。只是真的不明白为什么features.values不这样返回它,或者为什么 numpy 不将它识别为二维数组。谢谢!
标签: python pandas numpy multidimensional-array