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)
我有一个具有以下结构的数据框:
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)