我有一个关于2020年员工工资的CSV文件,我不知道如何组织我的条形图。这里是CSV供参考:https://catalog.data.gov/dataset/employee-salaries-2020
我想用条形图表示每个部门的平均工资。
我已经开始按部门及其value_count()组织条形图,但我希望x轴代表该部门的平均工资。有什么建议可以帮助我实现这一点吗?
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
file_path = 'Employee_Salaries_-_2020.csv'
salaries = pd.read_csv(file_path)
a = salaries.Department.value_counts()
x = list(a.index)
y = list(a)
f, ax = plt.subplots(figsize=(20,10))
width = 0.75 # the width of the bars
ind = np.arange(len(y)) # the x locations for the groups
ax.barh(ind, y, width, color="blue")
ax.set_yticks(ind+width/2)
ax.set_yticklabels(x, minor=False)
for i, v in enumerate(y):
ax.text(v + .25, i + .25, str(v), color='blue', fontweight='bold') #add value labels into bar
plt.title('Average Base Pay by Department')
plt.xlabel('Average Base Pay')
plt.ylabel('Department')
plt.show()
1条答案
按热度按时间rsaldnfx1#
你可以通过
salaries.groupby('Department')['Base Salary'].mean()
得到平均工资,而不是值计数,这应该是你要找的值。