有一个df,里面包含城市、平均工资,怎么按城市画出平均工资的箱线图
时间: 2024-05-07 20:16:41 浏览: 138
您可以使用 Python 中的 Pandas 和 Matplotlib 库来完成这个任务。具体步骤如下:
1. 首先导入 Pandas 和 Matplotlib 库:
```
import pandas as pd
import matplotlib.pyplot as plt
```
2. 读取包含城市和平均工资的 df 数据集,假设数据集名称为 df:
```
df = pd.read_csv('数据集名称.csv')
```
3. 使用 Pandas 的 groupby 函数按城市分组,并计算每个城市的平均工资的描述性统计量,包括中位数、上下四分位数、最小值、最大值:
```
city_grouped = df.groupby(['城市'])['平均工资'].describe()
```
4. 使用 Matplotlib 库中的 boxplot 函数绘制箱线图:
```
fig, ax = plt.subplots()
ax.boxplot(city_grouped['平均工资'], vert=False)
ax.set_xlabel('平均工资')
ax.set_yticklabels(city_grouped.index)
plt.show()
```
这样就可以按城市绘制出平均工资的箱线图了。
相关问题
python 按城市画出平均工资箱线图
好的,我可以为您提供一个简单的代码实现,可以用pandas和matplotlib库绘制平均工资的箱线图。首先您需要准备一个包含城市、工作岗位和薪资的数据集,然后按照以下步骤操作。
```
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据集
df = pd.read_csv('salary_data.csv')
# 按城市分组计算平均工资
grouped = df.groupby('city')['salary'].mean()
# 创建箱线图
fig, ax = plt.subplots()
ax.boxplot(grouped.values)
ax.set_xticklabels(grouped.index)
ax.set_title('Average Salary by City')
ax.set_xlabel('City')
ax.set_ylabel('Salary')
plt.show()
```
这段代码会读取名为 `salary_data.csv` 的文件,该文件中包含了不同城市和工作岗位的薪资数据。然后,它会按城市分组计算平均工资,并将结果绘制成箱线图。最终图表将显示在屏幕上。
阅读全文