我有一个包含三列的数据框。 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/