我有类似以下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
>>>
有关最佳方法的任何建议吗?
答案 0 :(得分:1)
你可以这样做:
ifelse