如何展平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
相关产品推荐
相关产品推荐

