Python Pandas Dataframe-将索引设置为具有自定义月份的日期时间

时间:2018-07-12 11:39:52

标签: python pandas datetime dataframe

我有一个像这样的简单数据框。

0       0.00
1       0.00
2       0.07
3       0.09
4       0.09
...
180    13.46
181    13.46
182    15.05
183    15.05
184    15.05
185    15.05

我想将数字索引更改为月日期,但不按时间顺序排列。我希望它是一月,二月,三月,四月,十一月,十二月。我怎样才能使索引进入这些自定义月份,从而跳过我不想要的月份?

1 个答案:

答案 0 :(得分:2)

我认为需要:

np.random.seed(2018)
df = pd.DataFrame({'A':np.random.rand(186)})
#print (df)

#365 days
dates = pd.date_range('01-01-2015', '31-12-2015')
dates = dates[dates.month.isin([1,2,3,4,11,12])].strftime('%b-%d')
print (len(dates))
181

#366 days
dates = pd.date_range('01-01-2000', '31-12-2000')
dates = dates[dates.month.isin([1,2,3,4,11,12])].strftime('%b-%d')
print (len(dates))
182

然后:

#filter DaatFrame for same length
df = df.iloc[:len(dates)]
#assign dates
df.index = dates
print (df.head(10))
               A
Jan-01  0.882349
Jan-02  0.104328
Jan-03  0.907009
Jan-04  0.306399
Jan-05  0.446409
Jan-06  0.589985
Jan-07  0.837111
Jan-08  0.697801
Jan-09  0.802803
Jan-10  0.107215