Pandas 数据结构 - Series详解
在 Pandas 中,
Series 是一种一维的带标签数组,它能够保存任何数据类型(如整数、字符串、浮点数、Python 对象等)。Series 由两个主要部分组成:索引(index)和值(values)。下面将从多个方面对 Series 进行详细介绍。1. 创建 Series
可以使用多种方式创建
Series,下面介绍几种常见的方法。从列表创建
import pandas as pd
data = [10, 20, 30, 40]
s = pd.Series(data)
print(s)
在上述代码中,我们使用一个列表
data 创建了一个 Series 对象 s。如果没有指定索引,Pandas 会默认使用从 0 开始的整数作为索引。从字典创建
data = {'a': 10, 'b': 20, 'c': 30}
s = pd.Series(data)
print(s)
当使用字典创建
Series 时,字典的键会成为 Series 的索引,字典的值会成为 Series 的数据。指定索引创建
data = [10, 20, 30]
index = ['x', 'y', 'z']
s = pd.Series(data, index=index)
print(s)
这里我们手动指定了索引,使得
Series 的索引不再是默认的整数索引。2. 访问 Series 数据
可以通过索引来访问
Series 中的数据。使用位置索引
s = pd.Series([10, 20, 30, 40])
print(s[2]) # 访问第 3 个元素
这里使用整数位置索引来访问
Series 中的元素,索引从 0 开始。使用标签索引
data = {'a': 10, 'b': 20, 'c': 30}
s = pd.Series(data)
print(s['b']) # 访问索引为 'b' 的元素
如果
Series 有标签索引,可以使用标签来访问元素。切片访问
s = pd.Series([10, 20, 30, 40, 50])
print(s[1:4]) # 访问第 2 到第 4 个元素
可以使用切片操作来访问
Series 中的一部分数据。3. Series 的属性
Series 有一些常用的属性,用于获取其相关信息。values 属性
s = pd.Series([10, 20, 30])
print(s.values) # 获取 Series 的值
values 属性返回一个包含 Series 所有值的 NumPy 数组。index 属性
s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
print(s.index) # 获取 Series 的索引
index 属性返回 Series 的索引对象。dtype 属性
s = pd.Series([10, 20, 30])
print(s.dtype) # 获取 Series 的数据类型
dtype 属性返回 Series 中数据的类型。4. 数学运算
Series 支持各种数学运算。元素级运算
s1 = pd.Series([1, 2, 3])
s2 = pd.Series([4, 5, 6])
result = s1 + s2
print(result)
Series 之间的运算会按照索引进行元素级的操作。广播运算
s = pd.Series([1, 2, 3])
result = s * 2
print(result)
Series 可以与标量进行广播运算,即每个元素都与标量进行相应的运算。5. 缺失值处理
在
Series 中,缺失值通常用 NaN(Not a Number)表示。import numpy as np
data = [10, np.nan, 30]
s = pd.Series(data)
print(s.isnull()) # 检查是否为缺失值
print(s.dropna()) # 删除缺失值
print(s.fillna(0)) # 填充缺失值为 0
isnull() 方法用于检查 Series 中的元素是否为缺失值,dropna() 方法用于删除包含缺失值的元素,fillna() 方法用于填充缺失值。6. 统计计算
Series 提供了许多统计计算方法。s = pd.Series([10, 20, 30, 40, 50])
print(s.mean()) # 计算平均值
print(s.max()) # 计算最大值
print(s.min()) # 计算最小值
print(s.sum()) # 计算总和
这些方法可以方便地对
Series 中的数据进行统计分析。综上所述,
Series 是 Pandas 中一个非常基础且重要的数据结构,掌握其创建、访问、运算和处理等操作,对于数据分析和处理非常有帮助。
浙公网安备 33010602011771号