Python Pandas - Series



在 Python Pandas 库中,Series 是主要数据结构之一,它提供了一种方便的方法来处理和操作一维数据。它类似于电子表格中的列或数据库表中的单个列。在本教程中,您将了解有关 Pandas Series 的更多信息,并有效地使用 Series 进行数据操作和分析。

什么是 Series?

Pandas 中的 Series 是一个一维带标签的数组,能够保存任何类型的数据,包括整数、浮点数、字符串和 Python 对象。它由两个主要组成部分组成:

  • 数据:存储在 Series 中的实际值。
  • 索引:与每个数据值对应的标签或索引。

Series 类似于一维 ndarray(NumPy 数组),但带有标签,也称为索引。这些标签可用于访问 Series 中的数据。默认情况下,索引值是从 0 开始到 Series 长度减一的整数,但您也可以手动设置索引标签。

创建 Pandas Series

可以使用以下构造函数创建 Pandas Series:

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

构造函数的参数如下:

序号 参数及描述
1

data

数据采用多种形式,如 ndarray、列表或常量。

2

index

索引值必须唯一且可哈希,与数据的长度相同。如果未传递索引,则默认为 np.arange(n)

3

dtype

数据类型。如果为 None,则将推断数据类型。

4

copy

复制数据。默认为 False。

可以使用各种输入创建 Series 对象,例如:

  • 列表
  • ndarray
  • 字典
  • 标量值或常量

创建空 Series

如果未向 Series 构造函数 pandas.Series() 提供任何数据,它将创建一个基本的空 Series 对象。

示例

以下示例演示了如何创建空 Series。

#import the pandas library and aliasing as pd
import pandas as pd
s = pd.Series()

# Display the result
print('Resultant Empty Series:\n',s)

输出如下:

Resultant Empty Series: 
Series([], dtype: object)

从 ndarray 创建 Series

ndarray作为输入数据传递给 Series 构造函数,然后它将使用该数据创建 Series。如果要指定自定义索引,则传递的索引必须与输入数据的长度相同。如果未指定索引,则 Pandas 将自动从起始 0 生成默认索引到输入数据的长度,即 [0,1,2,3…. range(len(array))-1]。

示例

以下是使用ndarray创建 Pandas Series 的示例。

#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data)
print(s)

输出如下:

0   a
1   b
2   c
3   d
dtype: object

我们没有传递任何索引,因此默认情况下,它分配了从 0 到len(data)-1的索引,即 0 到 3。

示例

此示例演示了在创建时将自定义索引应用于 Series 对象。

#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data,index=[100,101,102,103])
print("Output:\n",s)

输出如下:

Output:
100  a
101  b
102  c
103  d
dtype: object

在此示例中,我们提供了索引值。现在我们可以看到输出中自定义的索引值。

从 Python 字典创建 Series

可以将字典作为输入传递给pd.Series()构造函数以使用字典值创建 Series。如果未指定索引,则字典键将按排序顺序获取以构建 Series 索引。如果传递了index,则将提取数据中与索引中的标签相对应值。

示例 1

以下是使用 Python 字典创建 Series 对象的基本示例。

#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data)
print(s)

输出如下:

a 0.0
b 1.0
c 2.0
dtype: float64

注意:字典键用于构建索引。

示例 2

在此示例中,通过显式指定索引标签,使用 Python 字典创建 Series 对象。

#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data,index=['b','c','x','a'])
print(s)

输出如下:

b 1.0
c 2.0
d NaN
a 0.0
dtype: float64

注意:索引顺序保持不变,缺失元素用 NaN(非数字)填充。

从标量创建 Series

如果将单个标量值作为数据提供给Pd.Series()构造函数,并指定索引标签。然后将重复该单个值以匹配提供的index对象的长度。

示例

以下示例演示了如何使用单个标量值创建 Series 对象。

#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
s = pd.Series(5, index=[0, 1, 2, 3])
print(s)

输出如下:

0  5
1  5
2  5
3  5
dtype: int64
广告

© . All rights reserved.