我需要按记录为字符串的日期对数据框进行排序,因此当我绘制值时,日期按顺序绘制。我按日期grouped = datanew.groupby(['Date']).sum()
对其进行了分组,因此sort_values('Date')
不起作用。我试过这个
grouped = datanew.sort_values(by='Date',ascending=False).groupby('Date').sum()
我也试过这个:
date = sort.reset_index()
sortd = date.sort_values(by='Date', ascending=False)
但是在这种情况下,它按索引排序我的df而不是'Date'让我困惑。
非常感谢您的帮助。
答案 0 :(得分:1)
我认为您可以使用to_datetime
+ sort_index
+ strftime
+ plot
:
df.index = pd.to_datetime(df.index, format='%d_%b')
df = df.sort_index()
df.index = df.index.strftime('%d_%b')
df.plot()
样品:
np.random.seed(10)
df = pd.DataFrame({'a':[3,5,6,1]}, index=['11_May','12_May','1_May', '2_May'])
print (df)
a
11_May 3
12_May 5
1_May 6
2_May 1
df.index = pd.to_datetime(df.index, format='%d_%b')
df = df.sort_index()
df.index = df.index.strftime('%d_%b')
print (df)
a
01_May 6
02_May 1
11_May 3
12_May 5
df.plot()