Pandas 数据结构 - Series


Pandas 数据结构 - Series

在 Panda 中最基础的数据结构是 Series,一个由一维数组和与之对应的数据标签(index)组成的数据结构。可以将其理解为带标签的一维数组。Series 可以包含各种类型的数据,如整数、浮点数、字符串甚至 Python 对象。

创建

使用 Pandas 中的 Series() 函数可以快速创建一个 Series,该函数的语法如下:

import pandas as pd

# 从列表中创建 Series
s = pd.Series(data, index=index)

# 从字典中创建 Series
s = pd.Series(dict)

这里的 data 是传递给 Pandas Series 的数据,可以是一个列表、NumPy 数组或 Python 字典。index 默认是从零开始的整数序列。而 index 参数用于为每个元素命名,可以使用任何哈希表中的可哈希类型(例如其它的序列或任意对象)。如果没有传递 index,则会根据默认规则创建一个索引。

访问元素

Pandas Series 可以使用类似于字典的方式访问其元素,也可以使用索引访问。例如:

s['a']
s[0]
s[1:3]

也可以使用条件对数据进行筛选:

s[s > 75]

通过 index 访问数据的方式:

s.loc['a']
s.iloc[0]

修改元素

Pandas Series 可以在其值上进行修改,例如:

s['a'] = 100
s.loc['b'] = 50

Series 对象的值是可变的,也可以使用 NumPy 函数和操作对 Series 中所有元素进行更改。例如:

s = pd.Series([1,2,3,4])
s = s.apply(lambda x: x ** 2)

属性

Pandas Series 具有很多属性可以访问。一些常用的属性包括:

  • s.values:返回该 Series 的 Numpy 数组(仅返回值)
  • s.index:返回该 Series 的索引
  • s.dtype:返回该 Series 的数据类型
s = pd.Series([1,2,3,4], index=['a','b','c','d'])
s.values
# 输出:array([1, 2, 3, 4])
s.index
# 输出:Index(['a', 'b', 'c', 'd'], dtype='object')
s.dtype
# 输出:dtype('int64')

总结

Pandas Series 是一种强大的数据结构。它是一个 Numpy 数组加一个索引的结合体,支持基于标签的数据访问和 NumPy 数组操作。常用的创建 Series 和访问修改 Series 子元素的方式已经在上面介绍过了。

还有需要注意的是,Pandas 中许多函数可以返回 Series 对象,例如 map、apply 等等,这些 Series 对象可以进一步加工处理、可视化和分析。在实际应用中,Pandas Series 往往可以帮助我们更轻松地组织、存储和操作数据。