X和Y轴上的Python数据聚合

时间:2016-06-20 09:54:42

标签: python pandas

在Python中需要一些关于数据聚合的帮助。

我有一个包含3列和N行的Dataframe。前两列包含索引(让它为XY),最后一列包含值。任务是计算sum()第三列[与(x_i,y_j)对应]的值,并将其写入(x_i,y_j)

交集的新数据框中

或者,更简单,转换:

ind1 ind2 value
 x1  y1    k1
 x2  y1    k2
 x3  y1    k3
 x1  y2    k4
 x2  y2    k5
 x3  y2    k6
进入某种2d大规模的

      y1  y2
     ________
 x1 |k1  k4
 x2 |k2  k5
 x3 |k3  k6

我已经尝试了pandas.groupby,但没有找到合适的解决方案。那么,我该怎么办?

1 个答案:

答案 0 :(得分:2)

您想要透视数据。例如:

In [5]: data = {'ind1': ['x1','x2','x3','x1','x2','x3'],
 'ind2': ['y1','y1','y1','y2','y2','y2'],
 'value': ['k1','k2','k3','k4','k5','k6']}

In [6]: pd.DataFrame(data=data)
Out[6]:
  ind1 ind2 value
0   x1   y1    k1
1   x2   y1    k2
2   x3   y1    k3
3   x1   y2    k4
4   x2   y2    k5
5   x3   y2    k6

In [9]: df.pivot(index='ind1', columns='ind2', values='value')
Out[9]:
ind2  y1  y2
ind1
x1    k1  k4
x2    k2  k5
x3    k3  k6

您可以在此处找到更多信息:http://pandas.pydata.org/pandas-docs/stable/reshaping.html