2. Pandas 核心数据结构:Series 与 DataFrame

Pandas 核心数据结构:Series 与 DataFrame

本文深入讲解 Pandas 的核心数据结构:Series 和 DataFrame。通过创建、索引和切片示例,展示数据操作的基本方法。重点介绍行列访问方式(lociloc)的使用,为后续数据清洗与分析打下基础,让初学者快速掌握 Pandas 数据处理核心技巧。


1. Series 的创建、索引与切片

1.1 Series 简介

Series 是带标签的一维数组,可以存储整数、浮点数、字符串等数据,并具有索引(index)用于定位数据。

1.2 创建 Series

python 复制代码
import pandas as pd

# 使用列表创建 Series
s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(s)

输出:

txt 复制代码
a    10
b    20
c    30
d    40
dtype: int64

1.3 访问 Series 数据

python 复制代码
# 通过索引访问
print(s['b'])  # 20

# 通过位置访问
print(s[2])    # 30

1.4 Series 切片与布尔索引

python 复制代码
# 切片(按位置)
print(s[1:3])

# 条件过滤
print(s[s > 20])

输出:

txt 复制代码
b    20
c    30
dtype: int64

c    30
d    40
dtype: int64

2. DataFrame 的创建与属性

2.1 DataFrame 简介

DataFrame 是二维表格数据结构,具有行索引和列索引。它是 Pandas 最常用的数据结构,适合处理表格数据、Excel 数据或 SQL 查询结果。

2.2 创建 DataFrame

2.2.1 方式一:使用字典
python 复制代码
data = {
    "姓名": ["张三", "李四", "王五"],
    "年龄": [23, 34, 29],
    "城市": ["北京", "上海", "广州"]
}

df = pd.DataFrame(data)
print(df)

输出:

txt 复制代码
   姓名  年龄 城市
0  张三  23 北京
1  李四  34 上海
2  王五  29 广州
2.2.2 方式二:使用二维列表和列名
python 复制代码
data = [[23, "北京"], [34, "上海"], [29, "广州"]]
df = pd.DataFrame(data, columns=["年龄", "城市"], index=["张三", "李四", "王五"])
print(df)

输出:

txt 复制代码
     年龄  城市
张三  23  北京
李四  34  上海
王五  29  广州

2.3 DataFrame 属性

python 复制代码
print(df.shape)      # (行数, 列数)
print(df.columns)    # 列索引
print(df.index)      # 行索引
print(df.dtypes)     # 每列数据类型

3. 行列访问方式(loc / iloc)

3.1 按标签访问(loc)

python 复制代码
# 访问单行
print(df.loc['张三'])

# 访问多行
print(df.loc[['张三', '李四']])

# 访问特定列
print(df.loc[:, '年龄'])

# 访问特定行列
print(df.loc['张三', '城市'])

3.2 按位置访问(iloc)

python 复制代码
# 访问第一行
print(df.iloc[0])

# 访问前两行
print(df.iloc[0:2])

# 访问第一列
print(df.iloc[:, 0])

# 访问特定单元格
print(df.iloc[0, 1])

4. 小结

  • Series:一维带标签数组,可通过索引和位置访问数据,支持布尔过滤。
  • DataFrame:二维表格数据结构,具有行列索引,便于结构化数据分析。
  • 访问方法
    • loc:基于标签访问行列。
    • iloc:基于位置访问行列。
  • 理解 Series 和 DataFrame 的创建与访问是掌握 Pandas 的核心基础,为后续数据选择、清洗和分析奠定基础。

上一篇:1. Pandas 环境配置与快速上手

下一篇:3. Pandas 文件读写与数据导入导出

相关推荐
java1234_小锋3 分钟前
基于Python深度学习的车辆车牌识别系统(PyTorch2卷积神经网络CNN+OpenCV4实现)视频教程 - 自定义字符图片数据集
python·深度学习·cnn·车牌识别
技术支持者python,php8 分钟前
训练模型,物体识别(opencv)
人工智能·opencv·计算机视觉
爱笑的眼睛1111 分钟前
深入理解MongoDB PyMongo API:从基础到高级实战
java·人工智能·python·ai
辣椒酱.17 分钟前
jupyter相关
python·jupyter
郝学胜-神的一滴21 分钟前
Python中常见的内置类型
开发语言·python·程序人生·个人开发
软件开发技术深度爱好者23 分钟前
基于多个大模型自己建造一个AI智能助手
人工智能
中國龍在廣州36 分钟前
现在人工智能的研究路径可能走反了
人工智能·算法·搜索引擎·chatgpt·机器人
攻城狮7号1 小时前
小米具身大模型 MiMo-Embodied 发布并全面开源:统一机器人与自动驾驶
人工智能·机器人·自动驾驶·开源大模型·mimo-embodied·小米具身大模型
火白学安全1 小时前
《Python红队攻防零基础脚本编写:进阶篇(一)》
开发语言·python·安全·web安全·网络安全·系统安全
搜移IT科技1 小时前
【无标题】2025ARCE亚洲机器人大会暨展览会将带来哪些新技术与新体验?
人工智能