当前位置: 首页 > news >正文

第一章:Pandas 基础

1. Pandas 简介​

Pandas 是 Python 中用于数据处理和分析的核心库,核心数据结构是 Series(一维数据)和 DataFrame(二维表格)。
安装方法:

pip install pandas

​2. 核心数据结构:Series 和 DataFrame​
​2.1 Series(一维数据)​
  • ​创建 Series​​:通过列表和索引(索引可以是数字、字符串等)。

    import pandas as pd
    
    # 创建 Series
    data = [3, 5, 7, 9]
    index = ['a', 'b', 'c', 'd']
    s = pd.Series(data=data, index=index)
    
    print(s)

    ​输出​​:

    a    3
    b    5
    c    7
    d    9
    dtype: int64
  • ​访问数据​​:

    print(s['b'])       # 输出 5(通过标签)
    print(s.iloc[1])    # 输出 5(通过位置)

​2.2 DataFrame(二维表格)​
  • ​创建 DataFrame​​:通过字典或列表嵌套。

    # 通过字典创建
    data = {
        '姓名': ['小明', '小红', '小刚'],
        '年龄': [18, 19, 20],
        '成绩': [90, 85, 88]
    }
    df = pd.DataFrame(data, columns=['姓名', '年龄', '成绩'])
    
    print(df)

    ​输出​​:

      姓名  年龄  成绩
    0  小明  18  90
    1  小红  19  85
    2  小刚  20  88
  • ​自定义索引​​:

    df = pd.DataFrame(data, index=['S1', 'S2', 'S3'])

​3. 数据读取与保存​

Pandas 支持多种数据格式的读取和保存。

​3.1 读取 CSV 文件​
# 假设有一个 data.csv 文件,内容如下:
# 姓名,年龄,成绩
# 小明,18,90
# 小红,19,85
df = pd.read_csv('data.csv')
print(df.head())
​3.2 保存为 Excel​
df.to_excel('output.xlsx', index=False)  # index=False 表示不保存行索引

​4. 数据查看与统计​
​4.1 基础查看方法​
print(df.head(2))     # 查看前2行
print(df.tail(1))     # 查看最后1行
print(df.shape)       # 输出 (3, 3) 表示3行3列
print(df.columns)     # 输出列名列表:Index(['姓名', '年龄', '成绩'], dtype='object')
​4.2 数据统计​
print(df.describe())  # 统计数值列的均值、标准差等

​输出​​:

             年龄        成绩
count   3.000000   3.000000
mean   19.000000  87.666667
std     1.000000   2.516611
min    18.000000  85.000000
25%    18.500000  86.500000
50%    19.000000  88.000000
75%    19.500000  89.000000
max    20.000000  90.000000

​5. 数据选择与过滤​
​5.1 按列选择​
names = df['姓名']          # 选择单列(返回 Series)
age_score = df[['年龄', '成绩']]  # 选择多列(返回 DataFrame)
​5.2 按行选择​
  • loc[] 通过标签选择​​:

    print(df.loc['S2'])              # 选择索引为 'S2' 的行
    print(df.loc[df['年龄'] > 18])   # 筛选年龄大于18的行
  • iloc[] 通过位置选择​​:

    print(df.iloc[1])       # 选择第2行(位置从0开始)
    print(df.iloc[0:2])     # 选择第1到第2行(左闭右开)
​5.3 条件过滤​
# 筛选成绩大于85且年龄小于20的学生
filtered_df = df[(df['成绩'] > 85) & (df['年龄'] < 20)]

​6. 数据清洗​
​6.1 处理缺失值​
  • ​删除缺失值​​:

    df.dropna()      # 删除包含缺失值的行
    df.dropna(axis=1)  # 删除包含缺失值的列
  • ​填充缺失值​​:

    df.fillna(0)                   # 用0填充
    df.fillna(df['年龄'].mean())   # 用列的平均值填充
​6.2 去重​
df.drop_duplicates(subset=['姓名'])  # 根据 '姓名' 列去重

​7. 简单数据分析​
​7.1 排序​
df.sort_values(by='成绩', ascending=False)  # 按成绩降序排列
​7.2 分组聚合​
# 假设添加一列 '班级'
df['班级'] = ['A', 'B', 'A']
grouped = df.groupby('班级')['成绩'].mean()  # 按班级计算平均成绩

​输出​​:

班级
A    89.0
B    85.0
Name: 成绩, dtype: float64

​8. 实例:学生成绩分析​
# 读取数据
df = pd.read_csv('students.csv')

# 1. 查看前3行
print(df.head(3))

# 2. 筛选数学成绩大于80的学生
math_high = df[df['数学'] > 80]

# 3. 按班级计算平均分
class_avg = df.groupby('班级')['数学', '英语'].mean()

# 4. 保存结果
class_avg.to_excel('class_avg.xlsx')

​本章总结​

  • 掌握 Series 和 DataFrame 的创建与操作。
  • 学会读取/保存数据、筛选数据、处理缺失值。
  • 能够进行基础统计和分组聚合分析。

相关文章:

  • 解决Ubuntu系统鼠标不流畅的问题
  • AI 编程器:Cursor Trae
  • Spring Boot内嵌服务器全解析:Tomcat vs Jetty vs Undertow 选型指南
  • 【Python】案例:计算股票收益率和波动率
  • 深入解析Spring Boot自动装配:原理、设计与最佳实践
  • 常见接口协议介绍
  • 秒杀系统的性能优化
  • Pytorch torch.nn.utils.rnn.pad_sequence 介绍
  • 对访问者模式的理解
  • 压力容器的断裂力学计算
  • ansible+docker+docker-compose快速部署4节点高可用minio集群
  • 2140 星期计算
  • 仿modou库one thread one loop式并发服务器
  • 浅谈进程的就绪状态与挂起状态
  • 【网络协议】WebSocket讲解
  • Kettle如何与应用集成
  • Python星球日记 - 第11天:文件操作
  • 【项目日记】高并发服务器项目总结
  • [环境配置] 1. 开发环境搭建
  • 自制简易 Shell:像搭建积木小屋一样打造命令交互小天地
  • 做好网站建设通知/品牌运营公司
  • 可以做兼职的网站/长沙seo排名优化公司
  • 景安网络网站建设教程/网络营销软文范例
  • 大足网站建设公司/今日桂林头条新闻
  • php 网站版面素材/seo算法培训
  • 如何做b2b网站信息/网络测试