Python Pandas数据分析实战:从入门到精通
Python Pandas数据分析实战:从入门到精通
本教程将使用一个员工信息数据集,演示如何使用Python Pandas进行数据分析。
1. 数据加载与初步探索
首先,我们需要加载Pandas库并读取Excel文件到DataFrame。pythonimport pandas as pd
读取Excel文件到DataFramedf = pd.read_excel('employees.xlsx')
接下来,我们可以查看数据的基本信息,例如后几行数据、数值型数据的主要统计信息和类别型数据的主要统计信息。python# 打印后4行数据的信息tail4 = df.tail(4)print('后4行数据:')print(tail4)
数值型数据的主要统计信息df_num = df.describe()print('数值型数据的主要统计信息:')print(df_num)
类别型数据的主要统计信息df_obj = df.describe(include='object')print('类别型数据的主要统计信息:')print(df_obj)
2. 数据选择与过滤
Pandas提供了灵活的数据选择和过滤功能。python# 筛选技术部门员工的所有信息tech_df = df[df['department']=='技术部']print('技术部门员工的所有信息:')print(tech_df)
筛选2019年入职员工,展示其所有信息df_2019 = df[df['start_date']==2019]print('2019年入职员工信息:')print(df_2019)
筛选薪资在15000-20000之间 (两端都包含) sal_df = df[(df['salary']>=15000) & (df['salary']<=20000)]print('薪资在15000-20000之间的员工信息:')print(sal_df)
3. 计算
我们可以使用Pandas进行各种计算,例如根据入职时间计算员工的工作年限。python# 根据入职时间计算员工的工作年限(当前年份-入职年份),并设为新的一列。df['work_years'] = pd.Timestamp.now().year - df['start_date'].dt.yearprint('添加工作年限列后的数据:')print(df)
对入职年限高于5年的员工,加薪10%df.loc[df['work_years'] > 5, 'salary'] = df['salary'] * 1.1print('特定员工加薪10%后的数据:')print(df)
4. 数据统计与分组
Pandas支持对数据进行分组统计。python# 按部门分组,平均薪资和年龄mean_sal_age = df.groupby('department').agg({'salary': 'mean', 'age': 'mean'})print('各部门的平均薪资和年龄:')print(mean_sal_age)
5. 问题回答
最后,我们可以使用Pandas回答一些与数据相关的问题。python# 工作年限小于2年的员工中,年薪最低的员工属于哪个部门min_sal_dept = df[df['work_years'] < 2]['department'][df['salary'].idxmin()]print(f'工作年限小于2年的员工中年薪最低员工所在部门:{min_sal_dept}')
年薪最高的员工比最低的员工年长几岁age_diff = df['age'][df['salary'].idxmax()] - df['age'][df['salary'].idxmin()]print(f'年薪最高的员工比最低的员工年长{age_diff}岁')
本教程介绍了使用Python Pandas进行数据分析的一些基本操作,希望能帮助你入门数据分析。Pandas还有很多强大的功能,建议你参考官方文档进行更深入的学习。
原文地址: https://www.cveoy.top/t/topic/zU1 著作权归作者所有。请勿转载和采集!