You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何展平DataFrame的数组列、应用函数并还原原结构?

问题:处理DataFrame中存储形状各异numpy数组的列

我有一个如下所示的DataFrame,包含两列,其中第二列存储着形状不同的numpy数组(示例中为(2, 1)、(2, 2)、(2, 3)):

class                         data
0      0                  [[3], [17]]
1      1            [[9, 5], [8, 19]]
2      1  [[8, 16, 13], [17, 19, 10]]

我希望将data列展平为一维数组[3, 17, 9, 5, 8, 19, 8, 16, 13, 17, 19, 10],对该向量应用函数(例如减去向量均值),然后还原DataFrame的原始结构。期望输出如下:

class                      data
0      0               [[-9], [5]]
1      1       [[-3, -7], [-4, 7]]
2      1  [[-4, 4, 1], [5, 7, -2]]

请问如何最优实现这一转换?


补充说明

生成该DataFrame的代码如下:

data = []

np.random.seed(8)

for i in range(1, 4):
    data.append(np.random.randint(0, 20, (2, i)))

category = {"class": [0, 1, 1]}
df = pd.DataFrame(category)
df["data"] = data

此前提到的用于转换一维数组的函数为arr -= np.mean(arr)。


内容的提问来源于stack exchange,提问作者Solaris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 22:55:29