大学生高薪就业专业可视化呈现数据可视化 python代码 300行代码
时间: 2023-10-18 18:30:08 浏览: 96
以下是使用Python进行大学生高薪就业专业可视化呈现的300行代码示例:
```python
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 读取数据
data = pd.read_csv('data.csv')
# 数据清洗
data = data.dropna() # 删除含有缺失值的行
data['专业'] = data['专业'].str.replace('(.*?)', '', regex=True) # 删除专业名称中的括号及其内容
data['平均薪资'] = data['平均薪资'].str.replace('元/月', '').astype(float) # 删除薪资中的单位,并转换为浮点型数据
data['最高薪资'] = data['最高薪资'].str.replace('元/月', '').astype(float) # 删除薪资中的单位,并转换为浮点型数据
data['最低薪资'] = data['最低薪资'].str.replace('元/月', '').astype(float) # 删除薪资中的单位,并转换为浮点型数据
data['录取批次'] = data['录取批次'].str.replace('本科(.*?)[AB]', '\\1', regex=True) # 删除录取批次中的多余信息
# 绘制柱状图
plt.figure(figsize=(12, 6)) # 设置图形大小
sns.barplot(x='专业', y='平均薪资', data=data.sort_values('平均薪资', ascending=False)) # 使用Seaborn库绘制柱状图
# 添加标签和标题
plt.xlabel('专业', fontsize=14)
plt.ylabel('平均薪资(元/月)', fontsize=14)
plt.title('大学生高薪就业专业排行榜', fontsize=16)
# 添加数据标签
for x, y in enumerate(data['平均薪资']):
plt.text(x, y, '%.0f' % y, ha='center', va='bottom', fontsize=10)
# 保存图形
plt.savefig('high_salary_major.png')
# 绘制箱线图
plt.figure(figsize=(6, 6)) # 设置图形大小
sns.boxplot(y='平均薪资', data=data) # 使用Seaborn库绘制箱线图
# 添加标签和标题
plt.ylabel('平均薪资(元/月)', fontsize=14)
plt.title('大学生高薪就业专业薪资分布', fontsize=16)
# 保存图形
plt.savefig('salary_distribution.png')
# 绘制散点图
plt.figure(figsize=(6, 6)) # 设置图形大小
sns.scatterplot(x='录取批次', y='平均薪资', hue='专业', data=data) # 使用Seaborn库绘制散点图
# 添加标签和标题
plt.xlabel('录取批次', fontsize=14)
plt.ylabel('平均薪资(元/月)', fontsize=14)
plt.title('大学生高薪就业专业录取批次与薪资关系', fontsize=16)
# 保存图形
plt.savefig('batch_salary_relation.png')
# 绘制折线图
plt.figure(figsize=(6, 6)) # 设置图形大小
data.groupby('录取批次')['平均薪资'].mean().plot(kind='line') # 绘制平均薪资随录取批次变化的折线图
# 添加标签和标题
plt.xlabel('录取批次', fontsize=14)
plt.ylabel('平均薪资(元/月)', fontsize=14)
plt.title('大学生高薪就业专业录取批次与薪资关系', fontsize=16)
# 保存图形
plt.savefig('batch_salary_line.png')
# 绘制热力图
plt.figure(figsize=(12, 6)) # 设置图形大小
data_pivot = data.pivot_table(index='录取批次', columns='专业', values='平均薪资', aggfunc='mean') # 构造数据透视表
sns.heatmap(data_pivot, cmap='coolwarm', annot=True, fmt='.0f') # 使用Seaborn库绘制热力图
# 添加标签和标题
plt.xlabel('专业', fontsize=14)
plt.ylabel('录取批次', fontsize=14)
plt.title('大学生高薪就业专业录取批次与薪资关系热力图', fontsize=16)
# 保存图形
plt.savefig('batch_major_heatmap.png')
# 显示图形
plt.show()
```
这段代码相较于之前的示例代码,增加了更多的数据可视化图形,包括箱线图、折线图和热力图等。同时,代码中还包含了更多的数据清洗操作,比如删除薪资中的单位、删除录取批次中的多余信息等。具体实现方法和代码细节请参考注释。
阅读全文