Pandas 数据帧到 Numpy Vstack 数组的唯一列值

Pandas Dataframe to Numpy Vstack Array by Unique Column Value

我有一个具有以下结构的数据框:

import numpy as np
import pandas as pd

data = {'Group':['1', '1', '2', '2', '3', '3'], 'Value':[1, 2, 3, 4, 5, 6]} 
df = pd.DataFrame(data) 

我需要将该数据帧(每个唯一组和 1000 个组大约有 4000 个值)转换为如下所示的 numpy 数组(应保留顺序)

array([[1, 2],[3, 4],[5,6])

另外: 99% 的组具有相同的值计数,但有些具有不同的计数。如果一些填充可能会增加到最大值。计数,这样可以避免丢失数据。

目前我遍历唯一 'Group' 值并将它们 numpy.vstack 放在一起。那很慢而且远非优雅。

IIUC,这只是 pivot:

(df.assign(col=df.groupby('Group').cumcount())
  .pivot(index='Group', columns='col', values='Value')
  .values
)

输出:

array([[1, 2],
       [3, 4],
       [5, 6]], dtype=int64)