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

现代劳动关系的分析主要体现在收入上,年龄阶段的幸福度也跟收入有关。分析年龄与收入的关系变化很有意义。具体需要用到Python编程语言的csv模块读取数据文件, 用到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.where(~np.isnan(incomes))  # 找到收入字段非NaN值的索引
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='b')
plt.xlabel('Age')
plt.ylabel('Average Income')
plt.title('Average Income by Age')
plt.grid(True)
plt.show()

注意:以上代码假设数据文件的格式为CSV文件,第一列为年龄,第二列为收入。代码中的路径'./data_file/income.csv'需要根据实际情况进行修改。

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

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

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