我有一个包含三列的数据框。 X,Y和计数,其中count是x和y一起出现的出现次数。我的目标是将其从数据框转换为二维数组,其中X是行的名称,Y是列的名称,计数组成表中的记录。

这可能吗?如果需要,我可以详细说明。

最佳答案

为了获得与数据透视表相同的结果,您还可以执行groupby操作,然后拆开其中的一列:

import numpy as np
import pandas as pd

df = pd.DataFrame({'color': ['red', 'blue', 'black'] * 2,
                   'vehicle': ['car', 'truck'] * 3,
                   'value': np.arange(1, 7)})

>>> df
   color  value vehicle
0    red      1     car
1   blue      2   truck
2  black      3     car
3    red      4   truck
4   blue      5     car
5  black      6   truck

>>> df.groupby(['color', 'vehicle']).sum().unstack('vehicle')
         value
vehicle    car  truck
color
black        3      6
blue         5      2
red          1      4

关于arrays - 将 Pandas 数据框转换为二维数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32553976/

10-11 03:49