我绘制了一年的数据(6月至5月)的须盒图,按月。
我有一个Pandas系列的数据:
Date
2018-06-01 0.012997
2018-06-02 0.009615
2018-06-03 0.012884
2018-06-04 0.013358
2018-06-05 0.013322
2018-06-06 0.011532
2018-06-07 0.018297
2018-06-08 0.018820
2018-06-09 0.031254
2018-06-10 0.016529
...
Name: Value, dtype: float64
字符串
我可以绘制它,但我不能得到列的月份名称,所以它的绘制,而只是数字。然而,由于月份不是从Jan = Dec,月数没有意义,这种方式。
当我使用Grouper函数创建这样一个df时,有什么方法可以获得月份名称?
我使用的代码最初来自https://machinelearningmastery.com/time-series-data-visualization-with-python/
如果我理解正确的话,Grouper将序列排列成一个包含每月数据的数组,所以我猜这是可能的(如果有的话):
groups = series.groupby(pd.Grouper(freq = 'M'))
months = pd.concat([pd.DataFrame(x[1].values) for x in groups], axis=1)
型
我试图找到但无法得到任何提示,如何命名一个列的基础上任何条件时,使用pd.DataFrame函数。我会非常感激,如果有人能帮助我正确的方向。
fig = plt.figure(figsize = (16,8))
#some code for other plots
ax3 = fig.add_subplot(212)
groups = series.groupby(pd.Grouper(freq = 'M'))
months = pd.concat([pd.DataFrame(x[1].values) for x in groups], axis=1)
months = pd.DataFrame(months)
months.columns = range(1,13)
months.boxplot()
ax3.set_title('Results June 2018 - May 2019')
plt.show()
型
2条答案
按热度按时间bihw5rsg1#
您可以使用
strftime
函数和'%B'
转换字符串来获取相应的月份名称,然后绘制它们。下面是一些示例代码:
字符串
这是它产生的对应图:
的数据
6ljaweal2#
与@Jairo相同,但带有DF。
字符串