Pandas 提供了多种创建 Series 的方式,最常用的是通过列表、字典或标量值创建。
import pandas as pd
# 默认索引从0开始
s1 = pd.Series([10, 20, 30, 40])
print(s1)
s2 = pd.Series([10, 20, 30],
index=['a', 'b', 'c'])
print(s2)
data = {'apple': 5, 'banana': 8, 'orange': 3}
s3 = pd.Series(data)
print(s3)
字典的键成为索引,值为数据。
s4 = pd.Series(5, index=['a', 'b', 'c'])
print(s4) # 所有值都是5
创建 Series 后,可以通过以下属性快速查看其基本信息:
.values 数据数组
.index 索引对象
.dtype 数据类型
.size 元素个数
.shape 形状元组
.name 名称
s = pd.Series([1, 2, 3], index=['x', 'y', 'z'], name='numbers')
print("值:", s.values)
print("索引:", s.index)
print("数据类型:", s.dtype)
print("元素个数:", s.size)
print("形状:", s.shape)
print("名称:", s.name)
Series 支持位置索引(类似列表)和标签索引,推荐使用 .iloc[] 和 .loc[] 进行显式操作。
s = pd.Series([10, 20, 30, 40], index=['a','b','c','d'])
print(s.iloc[0]) # 第一个元素: 10
print(s.iloc[1:3]) # 切片: 20,30
print(s.loc['b']) # 标签'b'对应的值: 20
print(s.loc['b':'d']) # 标签切片包含结束
布尔索引:根据条件筛选数据。
s = pd.Series([1, 5, 3, 9], index=['a','b','c','d'])
print(s[s > 3]) # 输出大于3的值
head(n) 前n行tail(n) 后n行describe() 统计摘要sort_values() 排序sort_index() 按索引排序value_counts() 值计数isna() / notna() 缺失值判断apply(func) 应用函数copy() 复制s = pd.Series([1, 2, 2, 3, 3, 3])
print("值计数:\n", s.value_counts())
print("描述统计:\n", s.describe())
Series 支持 NumPy 风格的向量化运算,并且可以处理缺失数据(NaN)。
s1 = pd.Series([1, 2, None, 4])
s2 = pd.Series([10, 20, 30, 40])
print(s1 + s2) # 向量化加法,缺失值参与运算后仍为NaN
print(s1.fillna(0)) # 用0填充缺失值
print(s1.dropna()) # 删除缺失值所在行