【问题标题】:Numpy array shape after extraction from Pandas Dataframe从 Pandas Dataframe 中提取后的 Numpy 数组形状
【发布时间】:2018-10-15 04:30:52
【问题描述】:

我在 Dataframe 中有一个列,其中每个单元格都有一个 (300,) 形状的 numpy 数组。

当我使用.values 方法提取此列的值时,我得到一个形状为(N,) 的numpy 数组,其中N 是Dataframe 的行数。而N 的每个元素都是一个(300,) 数组。我本来希望提取的形状是(Nx300)

所以我想将提取的列的形状设置为(Nx300)。我尝试使用 pd.as_matrix() 但这仍然让我得到一个形状为 (N,) 的 numpy 数组。

有什么建议吗?

【问题讨论】:

标签: python arrays pandas numpy


【解决方案1】:

您可以使用numpy.concatenate,转换为列表并转换为array

a = np.random.randint(10, size=300)
print (a.shape)
(300,)

df = pd.DataFrame({ 'A':[a,a,a]})

arr = np.array(np.concatenate(df.values).tolist())
print (arr.shape)
(3, 300)

【讨论】:

    猜你喜欢
    • 2017-06-26
    • 1970-01-01
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    • 2021-02-22
    • 2017-12-12
    • 2019-03-12
    相关资源
    最近更新 更多