已排序索引组的唯一ID

时间:2015-12-02 22:20:50

标签: python pandas

我有类似以下DataFrame的内容,我在2年内的4个季节中有2个位置的数据点。

>>> df=pd.DataFrame(index=pd.MultiIndex.from_product([[1,2,3,4],[2011,2012],['A','B']], names=['Season','Year','Location']))
>>> df['Value']=np.random.randint(1,100,len(df))
>>> df
                      Value
Season Year Location       
1      2011 A            40
            B             7
       2012 A            81
            B            84
2      2011 A            37
            B            59
       2012 A            30
            B             6
3      2011 A            71
            B            43
       2012 A             3
            B            65
4      2011 A            45
            B            13
       2012 A            38
            B            70
>>> 

我想创建一个新系列,代表按年份排序的季节数。例如,第一年的季节将是1,2,3,4,然后第二年的季节将是5,6,7,8。该系列将如下所示:

Season  Year  Location
1       2011  A           1
              B           1
        2012  A           5
              B           5
2       2011  A           2
              B           2
        2012  A           6
              B           6
3       2011  A           3
              B           3
        2012  A           7
              B           7
4       2011  A           4
              B           4
        2012  A           8
              B           8
Name: SeasonNum, dtype: int64
>>> 

有关最佳方法的任何建议吗?

1 个答案:

答案 0 :(得分:1)

你可以这样做:

ifelse