首页 > 解决方案 > 如何重塑数据框的每一行?

问题描述

我有一个数据框,其中每一行对应于图像的 1024 个像素值。我想将每一行重塑为 32x32 图像。我的数据框的形状是 (32495, 1024)。

我试过了:

features.iloc[0].values.reshape(32, 32)

但是,这仅适用于单行。像这样对整个数据框执行此操作:

features.values.reshape(32, 32)

导致以下错误:

ValueError: cannot reshape array of size 33274880 into shape (32,32)

关于如何实现这一目标的任何想法?

标签: pythonpandasimagenumpydataframe

解决方案


您需要传递必须重塑的行数,如下所示:

my_df = pd.DataFrame(np.zeros((32495,1024)))
my_df.shape
>> (32495, 1024)

reshaped_array = my_df.values.reshape(32495, 32, 32)
reshaped_array.shape
>> (32495, 32, 32)

推荐阅读