Python Pandas数据分析实战:从入门到精通

本教程将使用一个示例数据集,演示如何使用Python Pandas库进行数据分析。

1. 数据加载与初步探索

首先,我们需要加载数据。这里假设数据存储在一个名为'data.xlsx'的Excel文件中。python# 导入pandas库import pandas as pd

读取Excel文件到DataFramedf = pd.read_excel('data.xlsx')

我们可以使用head()方法查看数据的前几行,使用info()方法查看数据的基本信息,例如列名、数据类型和非空值数量。python# 查看数据的前5行print(df.head())

查看数据的基本信息print(df.info())

打印后4行数据的信息python# 打印后4行数据的信息tail4 = df.tail(4)print('后4行数据:')print(tail4)

数值型数据的主要统计信息python# 数值型数据的主要统计信息df_num = df.describe()df_obj = df.describe(include='object')print('数值型数据的主要统计信息:')print(df_num)print('类别型数据的主要统计信息:')print(df_obj)

pythonprint('-'*80)

2. 数据选择与过滤

Pandas提供了多种方法来选择和过滤数据。

筛选技术部门员工的所有信息python# 筛选技术部门员工的所有信息tech_df = df[df['部门'] == '技术']print('技术部门员工的所有信:')print(tech_df)

筛选2019年入职员工,展示其所有信息python# 筛选2019年入职员工,展示其所有信息df_2019 = df[df['入职年份'] == 2019]print('2019年入职员工信息:')print(df_2019)

筛选薪资在15000-20000之间 (两端都包含) python#筛选薪资在15000-20000之间 (两端都包含) sal_df = df[(df['薪资'] >= 15000) & (df['薪资'] <= 20000)]print('薪资在15000-20000之间的员工信息:')print(sal_df)pythonprint('-'*80)

3. 计算

Pandas允许我们对数据进行各种计算。

根据入职时间计算员工的工作年限(当前年份-入职年份),并设为新的一列。python# 根据入职时间计算员工的工作年限(当前年份-入职年份),并设为新的一列。df['work_years'] = pd.datetime.now().year - df['入职年份']print('添加工作年限列后的数据:')print(df)

对入职年限高于5年的员工,加薪10%python# 对入职年限高于5年的员工,加薪10%df.loc[df['work_years'] > 5, '薪资'] = df['薪资'] * 1.1print('特定员工加薪10%后的数据:')print(df)pythonprint('-'*80)

4. 数据统计与分组

Pandas提供了强大的分组功能。

按部门分组,平均薪资和年龄python#按部门分组,平均薪资和年龄mean_sal_age = df.groupby('部门').agg({'薪资':'mean', '年龄':'mean'})print('各部门的平均薪资和年龄:')print(mean_sal_age)

pythonprint('-'*80)

5. 问题回答

现在让我们尝试回答一些关于数据的问题。

工作年限小于2年的员工中,年薪最低的员工属于哪个部门python# 工作年限小于2年的员工中,年薪最低的员工属于哪个部门min_sal_dept = df[df['work_years'] < 2]['部门'].iloc[df[df['work_years'] < 2]['薪资'].idxmin()]print(f'工作年限小于4年的员工中年薪最低员工所在部门:{min_sal_dept}')

年薪最高的员工比最低的员工年长几岁python#年薪最高的员工比最低的员工年长几岁age_diff = df[df['薪资'] == df['薪资'].max()]['年龄'].values[0] - df[df['薪资'] == df['薪资'].min()]['年龄'].values[0]print(f'年薪最高的员工比最低的员工年长{age_diff}岁')

Python Pandas数据分析实战:从入门到精通

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

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