Home > other >  Plot a certain column based on specific element with matplotlib and pandas
Plot a certain column based on specific element with matplotlib and pandas

Time:01-15

I was given a task where I'm supposed to plot a element based on another column element.

For further information here's the code:

# TODO: Plot the Male employee first name on 'Y' axis while Male salary is on 'X' axis
import pandas as pd 
import matplotlib.pyplot as plt 
data = pd.read_excel("C:\\users\\HP\\Documents\\Datascience task\\Employee.xlsx")

data.head(5)

Output:

    First Name  Last Name   Gender           Age    Experience (Years)  Salary
0   Arnold  Carter           Male             21                10    8344
1   Arthur  Farrell          Male             20                 7    6437
2   Richard Perry            Male             28                 3    8338
3   Ellia   Thomas           Female           26                 4    8870
4   Jacob   Kelly            Male             21                 4    548

Suppose if I want to plot the first 5 of 'First Name' column where the 'Gender' is Male on the Y axis while the 'Salary' column where the 'Gender' is Male on X axis.

How do I do that?

CodePudding user response:

First generate the male rows separately and extract first name and salary for plotting.

The below code identifies first five male employees and converts their first name and salary as x and y lists.

x = list(df[df['Gender'] == "Male"][:5]['Fname'])
y = list(df[df['Gender'] == "Male"][:5]['Salary'])
print(x)
print(y)

Output:

['Arnold', 'Arthur', 'Richard', 'Jacob']
[8344, 6437, 8338, 548]

Note that there're only 4 male available in the df.

Then we can plot any chart as we require;

plt.bar(x, y, color = ['r', 'g', 'b', 'y']);

Output: enter image description here

  •  Tags:  
  • Related