簡體   English   中英

如何用 Seaborn 將 x 軸上的 plot 月和 y 軸上的降雨量?

[英]How to plot Month on the x-axis and Rainfall on the y-axis with Seaborn?

我有一個來自 Kaggle 的一個世紀以來印度月降雨量的數據集: https://www.kaggle.com/ravisane1/monthly-rainfall-data-india-of-a-century 我已經使用 melt 通過執行以下操作將月份從列轉換為行

rain_data_by_month = rain_data.melt(id_vars=["State", "District","Year"], 
        var_name="Month", 
        value_name="Rainfall")

現在我想在 X 軸上顯示月的 plot,在 Y 軸上顯示總降雨量。 所以我首先做了一個

rdf = rain_data_by_month.groupby(['Month'])['Rainfall'].sum().reset_index()

我怎樣才能按照上面描述的方式獲得 seaborn 到 plot rdf? 謝謝!

import pandas as pd
import seaborn as sns
import calendar

# load data
df = pd.read_csv('data/india_monthly_rainfall_data.csv')

# melt
dfm = df.melt(id_vars=["State", "District","Year"],  var_name="Month",  value_name="Rainfall")

# groupby sum
rdf = dfm.groupby(['Month'])['Rainfall'].sum().reset_index()

# ordered
rdf.Month = pd.Categorical(rdf.Month, categories=list(calendar.month_abbr)[1:], ordered=True)

# display(rdf)
Month     Rainfall
  Apr  2.15743e+06
  Aug  1.52092e+07
  Dec  6.44887e+05
  Feb  9.17824e+05
  Jan  7.38981e+05
  Jul  1.65285e+07
  Jun  1.02515e+07
  Mar  1.17930e+06
  May  4.09921e+06
  Nov  1.56662e+06
  Oct  4.33708e+06
  Sep  1.00620e+07

# plot
p = sns.barplot('Month', 'Rainfall', data=rdf)
p.set_ylabel('Rainfall (mm)')
p.set_title(f'1901 - 2002: Total Cumulative Monthly Rainfall')

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM