pandas:一个数据处理神器般的Python库!
今天要给大家介绍一个在数据分析领域无人不知的Python库 —— pandas。无论你是数据分析师、金融从业者,还是想要处理Excel表格的普通程序员,pandas都能帮你轻松搞定数据处理的各种需求。让我们一起来探索这个强大的数据分析工具吧!
1. pandas简介
pandas是Python中最受欢迎的数据分析库之一,它提供了高性能、易用的数据结构和数据分析工具。pandas最核心的两个数据结构是Series(一维数据)和DataFrame(二维数据),可以把DataFrame理解为Excel中的表格。
让我们安装并导入pandas:
1# 安装pandas(在命令行执行)
2# pip install pandas
3
4# 导入pandas库
5import pandas as pd
2. DataFrame:你的数据表格好帮手
DataFrame是pandas最常用的数据结构,让我们通过一个简单的例子来认识它:
1# 创建一个简单的DataFrame
2data = {
3 '姓名': ['小明', '小红', '小华'],
4 '年龄': [18, 19, 20],
5 '成绩': [90, 95, 85]
6}
7df = pd.DataFrame(data)
8print(df)
看!是不是很像Excel表格?我们可以轻松地查看和处理数据:
1# 查看前两行数据
2print(df.head(2))
3
4# 获取基本统计信息
5print(df.describe())
6
7# 选择特定列
8print(df['成绩'])
3. 数据处理小技巧
数据筛选
想要找出成绩90分以上的同学?简单!
1# 条件筛选
2high_score = df[df['成绩'] >= 90]
3print(high_score)
数据排序
按成绩从高到低排序:
1# 排序
2sorted_df = df.sort_values('成绩', ascending=False)
3print(sorted_df)
小贴士:
ascending=False
表示降序排列,True
则是升序。
处理缺失值
现实世界的数据往往不是完美的,经常会遇到缺失值:
1import numpy as np
2
3# 创建包含缺失值的DataFrame
4df_missing = pd.DataFrame({
5 '姓名': ['小明', '小红', None],
6 '成绩': [90, np.nan, 85]
7})
8
9# 删除包含缺失值的行
10print(df_missing.dropna())
11
12# 填充缺失值
13print(df_missing.fillna({'姓名': '未知', '成绩':df_missing['成绩'].mean()}))
4. 数据分析实战
让我们用一个实际的例子来巩固学习:分析学生成绩数据
1# 创建更多数据
2student_data = pd.DataFrame({
3 '姓名': ['小明', '小红', '小华', '小李', '小张'],
4 '语文': [80, 90, 85, 88, 92],
5 '数学': [95, 88, 92, 90, 85],
6 '英语': [85, 95, 88, 87, 90]
7})
8
9# 计算每个学生的平均分
10student_data['平均分'] = student_data[['语文', '数学', '英语']].mean(axis=1)
11
12# 找出各科最高分
13print(“各科最高分:”)
14print(student_data[['语文', '数学', '英语']].max())
15
16# 计算各科平均分
17print(“\n各科平均分:”)
18print(student_data[['语文', '数学', '英语']].mean())
5. 实用技巧
数据导入导出
读取CSV文件
1# df = pd.read_csv('data.csv')
2
3# 保存为Excel
4# df.to_excel('output.xlsx')
数据分组统计
假设我们有班级信息
1student_data['班级'] = ['A班', 'B班', 'A班', 'B班', 'A班']
2# 按班级计算平均分
3print(student_data.groupby('班级')['平均分'].mean())
注意事项:处理大数据时,建议先查看数据基本信息(df.info())和数据质量,避免内存占用过大。
课后练习:
创建一个包含你喜欢的电影信息的DataFrame(包含片名、年份、评分等)
尝试对这些数据进行排序和筛选
计算评分的平均值和中位数
小伙伴们,今天的Python学习之旅就到这里啦!pandas的功能非常强大,我们今天只是学习了一些基础用法。记得动手敲代码,有问题随时在评论区问猿小哥哦。祝大家学习愉快,Python学习节节高!