亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我想使用 matplot.pylib、pandas 繪制幾年來數據集中每月值的變化

我想使用 matplot.pylib、pandas 繪制幾年來數據集中每月值的變化

qq_笑_17 2023-10-25 10:34:38
我正在嘗試繪制一個圖表,顯示使用 matplotlib (python) 和 pandas 的每月值的變化,但由于我是新手,所以我在處理它時遇到了困難。提前對格式表示歉意。這是數據框的示例:  Year    Month      Value  2014    January     510  2014    February    542  2014    March       684  2014    April       700  2014    May         732  2014    July        603  2014    August      643  2014    September   680  2014    October     723  2014    November    760  2014    December    810  2015    January     920  2015    February    900  2015    March       780  2015    April       710  2015    May         810  2015    July        895  2015    August      906  2015    September   945  2015    October     980  2015    November    1000  2015    December    1123 這是我嘗試過的(縮短版本):import matplotlib.pyplot as plt    plt.title('Monthly data over several years')plt.plot(df['Month'].to_list(), df['Value'].to_list())這將導致 2015 年每個月在 Y 軸上繪制的值返回到上一年的相應月份,而不是在 2015 年 1 月至 12 月的 Y 軸上。例如,2015 年 1 月的值 920 將在 Y 軸上直接返回到 2014 年 1 月。我也嘗試過:  months = {"January": 1, "February": 2, "March": 3, "April": 4, "May": 5, "June": 6, "July": 7,    "August": 8, "September": 9, "October": 10, "November": 11, "December": 12}  df{'Month'] = df.Month.map(months)  df['Date'] = df['Year'].map(str) + '-' + df['Month'].map(str)這是為了將月份與相應的年份連接起來以避免前面的問題,但是,我最終在 df['Months'] 列中得到 NaN 值。此外,我覺得如果它確實有效的話,它會在x軸上填充過多的xticks(或標簽??)。我想要的是一個類似時間序列的繪圖,顯示兩年內值的每月變化。我正在努力在圖表上整齊地構造 xticks。否則,條形圖會更好嗎?
查看完整描述

1 回答

?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

如果將“年/月”列拆分為每年的單獨系列,則會更容易


import pandas as pd 

import matplotlib.pyplot as plt


fig, axes = plt.subplots(figsize=(6,4))


df = pd.read_csv("data.csv")

df2 = pd.pivot_table(df, index="Month", columns=["Year"])

df2 = df2.reindex(['January', 'February', 'March', 'April', 'May', 'July', 'August', 'September', 'October', 'November', 'December'])

df2.plot(ax=axes)

fig.savefig("plot.png")

https://img1.sycdn.imooc.com/65387edb0001656804290285.jpg

查看完整回答
反對 回復 2023-10-25
  • 1 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號