Pandas groupby two columns and plot

astro123

I have a dataframe like this:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

df = pd.DataFrame({'category': list('XYZXY'), 'B': range(5,10),'sex': list('mfmff')})

I want to plot count of sex male or female based on category from column 'category'.

I tried:
df.groupby(['category','sex'])['category','sex'].count().plot.bar()

But this gives: enter image description here

How to get the count of sex per category?

Bhishan Poudel

Using groupby+unstack:

df.groupby(['sex','category'])['B'].count().unstack('sex').plot.bar()

Using pivot_table:

pd.pivot_table(df, values = 'B', index = 'category',
               columns = 'sex',aggfunc ='count').plot.bar()

Using seaborn:

import seaborn as sns
sns.countplot(data=df,x='category',hue='sex')

or,
sns.catplot(data=df,kind='count',x='category',hue='sex')

output

enter image description here

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Pandas groupby two columns and plot

From Dev

Subtracting Two Columns with a Groupby in Pandas

From Dev

sorting in pandas groupby with two columns

From Dev

pandas: groupby two columns nunique

From Java

Pandas DataFrame Groupby two columns and get counts

From Dev

Plot a stacked bar graph from two pandas groupby objects?

From Dev

Plot a stacked bar graph from two pandas groupby objects?

From Java

GroupBy and plot with pandas

From Dev

Pandas DataFrame groupby two columns and get first and last

From Java

How to groupby two columns and calculate the summation of rows using Pandas?

From Dev

Pandas DataFrame groupby two columns and get first and last

From Java

How to plot two columns of a pandas data frame using points?

From Dev

Pandas - Groupby multiple columns

From Dev

pandas groupby dropping columns

From Dev

Pandas Groupby Sum to Columns

From Dev

Pandas groupby object in legend on plot

From Dev

Keep order in plot of pandas groupby

From Dev

Pandas groupby plot gives first plot twice

From Dev

Pandas groupby plot gives first plot twice

From Dev

Using two columns of a dataframe as one axis in Pandas.plot or matplotlib.plot

From Dev

Pandas groupby on two conditions

From Dev

groupby common values in two columns

From Dev

groupby common values in two columns

From Dev

Plot two columns against eachother

From Dev

Pandas, create columns after groupby

From Dev

Pandas groupby columns without multiindex

From Dev

pandas groupby not working for 3 columns

From Dev

Pandas groupby result into multiple columns

From Dev

Convert Pandas groupby group into columns