我正在使用联邦储备局提供的每月数据。但是,我只想绘制10年的数据,因此我将.tail()的10 x 12个月= 120表示月度数据,将10 x 4季度表示为季度。我的难题是,当我绘制数据帧时,它只在x轴上每个月绘制一次,而我只希望每个图形每年有1个刻度。
# Load in data from .csv files only using the 10 most recent years of data, 120 for monthly 40 for quarterly
federal_funds_df = pd.read_csv("data/FEDFUNDS.csv").tail(120)
CPI_df = pd.read_csv("data/CPIAUCSL.csv").tail(120)
unemployment_df = pd.read_csv("data/UNRATE.csv").tail(120)
real_GDP_df = pd.read_csv("data/GDPC1.csv").tail(40)
# Initialize the plot figure
plt.figure(figsize=(4, 1))
plt.suptitle("U.S. Economic Indicators")
# Effective Federal Funds Rate Plot
plt.subplot(141)
plt.plot(federal_funds_df.DATE, federal_funds_df.FEDFUNDS, label="Federal Funds Rate")
plt.legend(loc='best')
# Consumer Price Index Plot
plt.subplot(142)
plt.plot(CPI_df.DATE, CPI_df.CPIAUCSL, label="Consumer Price Index")
plt.legend(loc='best')
# Civilian Unemployment Rate Plot
plt.subplot(143)
plt.plot(unemployment_df.DATE, unemployment_df.UNRATE, label="Unemployment Rate")
plt.legend(loc='best')
# Real Gross Domestic Product Plot
plt.subplot(144)
plt.plot(real_GDP_df.DATE, real_GDP_df.GDPC1, label="Real GDP")
plt.legend(loc='best')
# Show plots fullscreen
mng = plt.get_current_fig_manager()
mng.window.state('zoomed')
plt.show()
.csv数据示例:
DATE,FEDFUNDS
1954-07-01,0.80
1954-08-01,1.22
1954-09-01,1.06
1954-10-01,0.85
1954-11-01,0.83
1954-12-01,1.28
答案 0 :(得分:0)
您应将日期转换为date time
格式。如果发布了输入数据的样本,将会更容易。但是如下所示:
pd.to_datetime(df['Date'], format= '%d/%m/%y')
然后,您可以每年对想要绘制的任何项目执行groupby
。有关更具体的答案,请发布一些数据。
另请参阅此帖子:Groupby month and year