转换 ipython 中的数据框有点像转置

transforming data frame in ipython a little like transpose

假设我在 pandas

中有如下 data.frame 的数据框
 a   1  11
 a   3  12
 a  20  13
 b   2  14
 b   4  15

我想生成这样的结果 data.frame

  V1  1  2  3  4 20
   a 11 NaN 12 NaN 13
   b NaN 14 NaN 15 NaN

我怎样才能得到这个转换?

谢谢。

您可以使用 pivot:

import pandas as pd
df = pd.DataFrame({'col1': ['a','a','a','b','b'],
                   'col2': [1,3,20,2,4],
                   'col3': [11,12,13,14,15]})
print df.pivot(index='col1', columns='col2')

输出:

     col3                
col2   1   2   3   4   20
col1                     
a      11 NaN  12 NaN  13
b     NaN  14 NaN  15 NaN