Построение гистограммы для столбца путем группировки двух столбцов в пандах - PullRequest
0 голосов
/ 08 марта 2019

Я новичок в пандах и матплотлиб.У меня есть CSV-файл, который состоит из года с 2012 по 2018. Для каждого месяца года у меня есть данные дождя.Я хочу проанализировать по гистограмме, в каком месяце года выпадает максимальное количество осадков.Вот мой набор данных.

year    month  Temp Rain
2012    1       10  100
2012    2       20  200
2012    3       30  300
..      ..      ..  ..
2012    12      40  400
2013    1       50  300
2013    2       60  200
..      ..      ..  ..
2018    12      70  400

Я не смог построить график с помощью гистограммы, я попытался построить график с помощью гистограммы, но не получил желаемого результата.Вот что я попробовал:

import pandas as pd
import numpy as npy
import matplotlib.pyplot as plt
df2=pd.read_csv('Monthly.csv')
df2.groupby(['year','month'])['Rain'].count().plot(kind="bar",figsize=(20,10))

Вот что я получил: enter image description here

Пожалуйста, предложите мне подход к построению гистограммы для анализа максимального количества выпадающих осадковв каком месяце сгруппированы по годам.

Ответы [ 3 ]

1 голос
/ 08 марта 2019

Возможно, вы не хотите видеть count на группу, но

df2.groupby(['year','month'])['Rain'].first().plot(kind="bar",figsize=(20,10))

или, возможно,

df2.groupby(['month'])['Rain'].sum().plot(kind="bar",figsize=(20,10))
1 голос
/ 08 марта 2019

вы закрыты для решения, я напишу: используйте max (), а не count ()

df2.groupby(['year','month'])['Rain'].max().plot(kind="bar",figsize=(20,10))
0 голосов
/ 08 марта 2019

Первый год и месяц, как вы уже сделали, но сохраняйте только максимальное количество осадков.

series_df2 = df2.groupby(['year','month'], sort=False)['Rain'].max()

Затем снимите серию, транспонируйте ее и постройте.

series_df2.unstack().T.plot(kind='bar', subplots=False, layout=(2,2))

Это даст вам вывод, который выглядит следующим образом для ваших образцов данных:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...