Pandas 数据结构 - Series

Pandas Series 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。

Series 特点:

  • 索引: 每个 Series 都有一个索引,它可以是整数、字符串、日期等类型。如果没有显式指定索引,Pandas 会自动创建一个默认的整数索引。

  • 数据类型: Series 可以容纳不同数据类型的元素,包括整数、浮点数、字符串等。

Series 是 Pandas 中的一种基本数据结构,类似于一维数组或列表,但具有标签(索引),使得数据在处理和分析时更具灵活性。

以下是关于 Pandas 中的 Series 的详细介绍: 创建 Series: 可以使用 pd.Series() 构造函数创建一个 Series 对象,传递一个数据数组(可以是列表、NumPy 数组等)和一个可选的索引数组。

							pandas.Series( data, index, dtype, name, copy)
						

参数说明:

  • data :一组数据(ndarray 类型)。

  • index :数据索引标签,如果不指定,默认从 0 开始。

  • dtype :数据类型,默认会自己判断。

  • name :设置名称。

  • copy :拷贝数据,默认为 False。

创建一个简单的 Series 实例:

实例

import pandas as pd

a = [ 1 , 2 , 3 ]

myvar = pd. Series ( a )

print ( myvar )

输出结果如下:

从上图可知,如果没有指定索引,索引值就从 0 开始,我们可以根据索引值读取数据:

实例

import pandas as pd

a = [ 1 , 2 , 3 ]

myvar = pd. Series ( a )

print ( myvar [ 1 ] )

输出结果如下:

							2
						

我们可以指定索引值,如下实例:

实例

import pandas as pd

a = [ "Google" , "yssmx" , "Wiki" ]

myvar = pd. Series ( a , index = [ "x" , "y" , "z" ] )

print ( myvar )

输出结果如下:

根据索引值读取数据:

实例

import pandas as pd

a = [ "Google" , "yssmx" , "Wiki" ]

myvar = pd. Series ( a , index = [ "x" , "y" , "z" ] )

print ( myvar [ "y" ] )

输出结果如下:

							yssmx
						

我们也可以使用 key/value 对象,类似字典来创建 Series:

实例

import pandas as pd

sites = { 1 : "Google" , 2 : "yssmx" , 3 : "Wiki" }

myvar = pd. Series ( sites )

print ( myvar )

输出结果如下:

从上图可知,字典的 key 变成了索引值。

如果我们只需要字典中的一部分数据,只需要指定需要数据的索引即可,如下实例:

实例

import pandas as pd

sites = { 1 : "Google" , 2 : "yssmx" , 3 : "Wiki" }

myvar = pd. Series ( sites , index = [ 1 , 2 ] )

print ( myvar )

输出结果如下:

设置 Series 名称参数:

实例

import pandas as pd

sites = { 1 : "Google" , 2 : "yssmx" , 3 : "Wiki" }

myvar = pd. Series ( sites , index = [ 1 , 2 ] , name = "yssmx-Series-TEST" )

print ( myvar )


更多 Series 说明

基本操作:

							# 获取值
value = series[2]  # 获取索引为2的值
# 获取多个值
subset = series[1:4]  # 获取索引为1到3的值
# 使用自定义索引
value = series_with_index['b']  # 获取索引为'b'的值
# 索引和值的对应关系
for index, value in series_with_index.items():
    print(f"Index: {index}, Value: {value}")
						

基本运算:

							# 算术运算
result = series * 2  # 所有元素乘以2
# 过滤
filtered_series = series[series > 2]  # 选择大于2的元素
# 数学函数
import numpy as np
result = np.sqrt(series)  # 对每个元素取平方根
						

属性和方法:

							# 获取索引
index = series_with_index.index
# 获取值数组
values = series_with_index.values
# 获取描述统计信息
stats = series_with_index.describe()
# 获取最大值和最小值的索引
max_index = series_with_index.idxmax()
min_index = series_with_index.idxmin()
						

注意事项:

  • Series 中的数据是有序的。
  • 可以将 Series 视为带有索引的一维数组。
  • 索引可以是唯一的,但不是必须的。
  • 数据可以是标量、列表、NumPy 数组等。