乐于分享
好东西不私藏

AI编程时代更需要的底层能力培养,Python数据分析(二) | Pandas基础教程+面试题串讲

AI编程时代更需要的底层能力培养,Python数据分析(二) | Pandas基础教程+面试题串讲
本系列是我之前给学生们培训『如何利用Python进行数据分析』的课程代码,即使在AI coding盛行的时代,它也是非常实用且必要的学习项
AI时代,古法编程已是一股清流,但相信我,
那些花在啃底层、拆原理、写原生代码上的时间,最终都会变成你在AI时代的核心竞争力!
(阅读原文,查看如何应对新型开发者的冲击)

Python数据分析系列教程

1. NumPy基础教程+面试题串讲

2. Pandas基础教程+面试题串讲(本篇)

3. Matplotlib+seaborn可视化教程

4. 能力打通:iris数据可视化分析

课程代码(教学级)和数据集已整理到网盘,内容更全面

关注『AI Power Lab』,对话框输入“pandas”免费获取~

Pandas 是 Python 数据分析领域最核心的库之一,建立在 NumPy 之上,专门用于处理结构化数据(如表格数据)。
本教程基于我的课程代码内容,系统学习以下内容
    • Pandas数据结构:Series基础、DataFrame基础
    • Pandas数据处理:数据读取与写入、数据选择与索引、数据清洗
    • Pandas统计分析:数据运算与统计分析、分组与聚合(GroupBy)、数据合并与拼接

    01

    为什么是Pandas

    在实际工作中,数据通常是Excel表格、CSV文件、数据库导出数据等形式,Pandas 可以高效处理(一句话处理)这些结构化数据,并提供类似 SQL + Excel 的操作体验。
    另外,Pandas的数据处理能力非常强大,是机器学习中的特征工程环节必备的处理步骤,是绕不开的必学技能
    安装方式
    前提是你的电脑已经安装python、anaconda(推荐)等软件
    pip install pandas #不指定版本号,默认安装最新版pip install pandas==<版本号> #指定版本号
    导入方式
    import pandas as pd
    通常使用 pd 作为简称,方便后续调用

    02

    必须掌握的Pandas数据结构

    Series结构
    可以理解为列表,如[1,3,5,7]
    1. 创建 Series
    s = pd.Series([10203040])print(s)# 输出010120230340dtype: int64
    2. 自定义索引
    s = pd.Series([102030], index=['a''b''c'])
    3. 基本属性查看
    s.values #查看series的各元素值s.index #查看series的各元素索引

    DataFrame结构
    可以理解为表格,每一列都是一个seires
    1. 创建 DataFrame
    data = {'name': ['Tom''Jack''Rose'],'age': [182019]}df = pd.DataFrame(data)
    2. 查看数据
    df.head() #查看头5行df.tail() #查看末5行df.shape #查看行列数df.columns #查看各列名df.index #查看索引
    3. 修改列名
    df.columns = ['姓名''年龄']

    03

    Pandas数据处理

    数据读取与写入
    1. 读取 CSV 文件
    df = pd.read_csv('data.csv')
    常用参数:
    • sep:分隔符
    • header:指定表头
    • encoding:编码格式
    2. 写入文件
    df.to_csv('output.csv'index=False)

    数据选择与索引
    1. 选择列
    df['name']df[['name''age']]
    2. 按位置选择(iloc)
    df.iloc[0]df.iloc[0:2]df.iloc[0, 1]
    3. 按标签选择(loc)
    df.loc[0]df.loc[0:2, 'name']
    4. 条件筛选
    df[df['age'] > 18]

    数据清洗
    1. 缺失值处理
    df.isnull() #发现空值位置并返回布尔值,用于进一步处理数据df.dropna() #去除空值,可以在()中通过条件筛选指定去除的区域(条件筛选我们在上一篇讲过啦)df.fillna(0) #用0填充空值
    2. 重复值处理
    df.duplicated() #检测是否是重复行,返回布尔值,用于进一步处理数据df.drop_duplicates() #去除重复行
    3. 类型转换
    df['age'] = df['age'].astype(int#age字段转换为整型

    04

    Pandas统计分析

    数据运算与统计
    1. 描述性统计
    df.describe() # 返回该dataframe的各项统计值
    2. 基本统计函数
    df['age'].mean()df['age'].max()df['age'].min()
    3. 排序
    df.sort_values(by='age')
    4. 新增列
    df['age_plus'] = df['age'] + 1

    分组与聚合(GroupBy)
    这是最常用的统计方法
    1. 分组
    df.groupby('gender')
    2. 聚合计算
    #按性别分组,计算每组的年龄均值df.groupby('gender')['age'].mean()
    3. 多指标聚合
    #按性别分组,计算每组年龄的均值、最大值、最小值df.groupby('gender').agg({'age': ['mean''max''min']})

    数据合并与拼接
    1. merge(类似 SQL join)
    pd.merge(df1, df2, on='id')
    2. concat(上下拼接)
    pd.concat([df1, df2])

    05

    Pandas统计分析案例

    以分析学生成绩为例,我们先构造一组学生成绩数据,
    import pandas as pdnames = ['Tom''Jack''Rose''Lucy']scores = [85599072]df = pd.DataFrame({'name': names,'score': scores})
    1. 筛选不及格学生
    df[df['score'] < 60]
    2. 添加等级列
    defgrade(x):if x >= 90:return'A'elif x >= 70:return'B'else:return'C'df['grade'] = df['score'].apply(grade)
    3. 统计信息
    df['score'].mean()df['score'].std()

    已经读到这里啦,来个点赞、喜欢和关注吧~

    期待你在评论区分享想法和见解,也欢迎交个朋友。

    想要第一时间收到推送,可以给我一个星标⭐哦!

    你们的支持和鼓励,是我持续更新的最大动力 ❥(^_-)

    06

    高频面试题串讲

    下面是Pandas相关高频面试题,我只给出回答要点
    1.Pandas 中 Series 和 DataFrame 的区别?
    参考要点:
    • Series:一维带索引数组
    • DataFrame:二维表格结构
    • DataFrame 由多个 Series 组成
    2.loc 和 iloc 的区别?
    参考要点:
    • loc:基于标签
    • iloc:基于位置
    3.groupby 的原理是什么?
    参考要点:
    • split(拆分)
    • apply(计算)
    • combine(合并)
    4.merge 和 concat 的区别?
    • merge:类似 SQL join
    • concat:按轴拼接
    5.apply 和 map 的区别?
    • map:Series 专用
    • apply:更通用(行/列级操作)
    6.场景题
    如何找出每个班级成绩最高的学生?
    df.loc[df.groupby('class')['score'].idxmax()]
    如何统计每个类别的数量?
    df['category'].value_counts()
    如何按多条件筛选?
    df[(df['score'] > 80& (df['age'] > 18)]
    跟着本文,你已经学会了如何安装pandas,掌握了Series 与 DataFrame结构、数据读取与保存、数据筛选与索引、分组统计、数据合并等数据分析必备技能,踏出了迈向高级数据科学的第一步,超棒 ~❥(^_-)
    下一期我们讲解Python数据可视化必备的两个库,matplotlib和seaborn,这两个库能让你的分析结果更上一层楼,甚至可以发现之前没注意到的规律,继续加油吧!
    AI时代,古法编程已是一股清流,但相信我,
    那些花在啃底层、拆原理、写原生代码上的时间,最终都会变成你在AI时代的核心竞争力!

    课程代码(教学级)和数据集已整理到网盘,内容更全面

    关注『AI Power Lab』,对话框输入“pandas”免费获取~

    已经读到这里啦,来个点赞、喜欢和关注吧~

    期待你在评论区分享想法和见解,也欢迎交个朋友。

    想要第一时间收到推送,可以给我一个星标⭐哦!

    你们的支持和鼓励,是我持续更新的最大动力 ❥(^_-)

    往期推荐

    智能体搭建| 如何用OpenClaw搭建你的“一人公司”(附完整配置模板)

    我用Andrej Karpathy的LLM wiki思路实现了“活”的个人知识库(附模板)

    你一定用得上的智能体skills推荐,主流技能市场盘点

    黑马Hermes Agent挑战OpenClaw:6万星的智能体有多强?(附快速部署教程)

    新手养虾也能如此简单!OpenClaw+飞书快速上手指南