【发布时间】:2019-10-30 05:56:24
【问题描述】:
我有一个形状为 (75,9) 的 pandas 数据框。
这些列中只有一个是 numpy 数组,每个数组的形状都是 (100, 4, 3)
我有一个奇怪的现象:
data = self.df[self.column_name].values[0]
形状为(100,4,3),但是
data = self.df[self.column_name].values
形状为 (75,),min 和 max '不是数字对象'
我预计 data = self.df[self.column_name].values 的形状(75、100、4、3),还有一些 min 和 max。
如何使一列 numpy 数组表现得像一个更高维度的 numpy 数组(长度=数据框中的行数)?
复制:
some_df = pd.DataFrame(columns=['A'])
for i in range(10):
some_df.loc[i] = [np.random.rand(4, 6)]
print some_df['A'].values.shape
print some_df['A'].values[0].shape
打印(10L,),(4L,6L) 而不是所需的(10L, 4L, 6L),(4L,6L)
【问题讨论】:
-
天哪,人们还在编写新的 Python 2 代码吗?
-
希望不会长久。我相信任何 python 的解决方案都是一样的
-
np.stack(....values)可以创建具有所需形状的数组。它不会改变数据框自己的存储空间。 -
@hpaulj 就是这样!如果您将其发布为答案,我会接受。我猜这不是最好的性能,但仍然适合我
标签: python arrays pandas numpy