Python数据分析:年龄与收入关系可视化

现代劳动关系的分析主要体现在收入上,年龄阶段的幸福度也跟收入有关。分析年龄与收入的关系变化很有意义。本文将使用Python编程语言分析年龄与收入的关系,并利用matplotlib库绘制柱状图和折线图,直观展现不同年龄段的平均收入变化趋势。

任务描述

  1. 创建工程data_analysis,将数据文件放入工程,路径为./data_file/ income.csv。
  2. 创建python文件,导入csv及numpy,matplotlib.pyplot模块。
  3. 读取数据文件,将年龄,收入存入数组。
  4. 删除温度字段数据的NaN值,也就是数据清洗的空值删除。
  5. 计算同年龄的平均收入.
  6. 将年龄作为x轴数据,收入作为y轴数据.
  7. 根据提供的数据绘制柱形图.
  8. 根据提供的数据绘制折线图,并设置折线图的各种样式.

Python代码

import csv
import numpy as np
import matplotlib.pyplot as plt

# 读取数据文件,将年龄、收入存入数组
ages = []
incomes = []
with open('./data_file/income.csv', 'r') as file:
    reader = csv.reader(file)
    next(reader)  # 跳过标题行
    for row in reader:
        age = int(row[0])
        income = float(row[1])
        ages.append(age)
        incomes.append(income)

# 数据清洗,删除NaN值
ages = np.array(ages)
incomes = np.array(incomes)
valid_indices = np.logical_not(np.isnan(incomes))
ages = ages[valid_indices]
incomes = incomes[valid_indices]

# 计算同年龄的平均收入
unique_ages = np.unique(ages)
average_incomes = []
for age in unique_ages:
    average_income = np.mean(incomes[ages == age])
    average_incomes.append(average_income)

# 绘制柱形图
plt.bar(unique_ages, average_incomes)
plt.xlabel('Age')
plt.ylabel('Average Income')
plt.title('Average Income by Age')
plt.show()

# 绘制折线图
plt.plot(unique_ages, average_incomes, marker='o', linestyle='-', color='blue')
plt.xlabel('Age')
plt.ylabel('Average Income')
plt.title('Average Income by Age')
plt.grid(True)
plt.show()

运行以上代码,将会得到柱状图和折线图,分别表示年龄与平均收入的关系。


原文地址: https://www.cveoy.top/t/topic/fw1J 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录