gpt4 book ai didi

Python 将年中的某一天转换为轴上的月份

转载 作者:行者123 更新时间:2023-11-28 17:01:31 25 4
gpt4 key购买 nike

我有一个时间序列,我想逐年绘制。我希望数据是每天的,但轴将每个月显示为“一月”、“二月”等。

目前我可以获得每日数据,但轴是 1-366(一年中的第几天)。

或者我可以将月轴设置为 1、2、3 等(通过将索引更改为 df.index.month),但数据是每月的。

如何将年轴中的日期转换为月份?或者我该怎么做?

显示每日数据的代码,但轴是错误的:

# import
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# create fake time series dataframe
index = pd.date_range(start='01-Jan-2012', end='31-12-2018', freq='D')
data = np.random.randn(len(index))
df = pd.DataFrame(data, index, columns=['Data'])

# pivot to get by day in rows, then year in columns
df_pivot = pd.pivot_table(df, index=df.index.dayofyear, columns=df.index.year, values='Data')
df_pivot.plot()
plt.legend(loc='center left', bbox_to_anchor=(1, 0.5))
plt.show()

graph result with the axis of 0, 50, 100, 150 etc - showing the day number not month as Jan, Feb, Mar etc

最佳答案

这可以使用 xticks function 来完成.只需在 plt.show() 之前添加以下代码:

plt.xticks(np.linspace(0,365,13)[:-1], ('Jan', 'Feb' ... 'Nov', 'Dec'))

或以下使月份名称出现在月中:

plt.xticks(np.linspace(15,380,13)[:-1], ('Jan', 'Feb' ... 'Nov', 'Dec'))

关于Python 将年中的某一天转换为轴上的月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54107108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com