Pandas 核心数据结构:Series 与 DataFrame
本文深入讲解 Pandas 的核心数据结构:Series 和 DataFrame。通过创建、索引和切片示例,展示数据操作的基本方法。重点介绍行列访问方式(loc
与 iloc
)的使用,为后续数据清洗与分析打下基础,让初学者快速掌握 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 的核心基础,为后续数据选择、清洗和分析奠定基础。