pandas.series.array 属性有什么作用?

pandasserver side programmingprogramming更新于 2025/10/11 16:52:17

“.array” 是 Pandas 系列属性之一。它将返回一个包含系列中存储的值的 Pandas ExtensionArray。“.array”用于获取底层数据的零拷贝引用。

生成的数组与 NumPy 数组不同,它是一个 ExtensionArray,并且根据系列中存在的数据(dtype)具有不同的数组类型。

示例 1

import pandas as pd

# 创建包含数值的 Pandas 系列
s1 = pd.Series([1,2,3,4])

print(s1)

print(s1.array)

解释

"s1"是使用长度为 4 的整数值创建的 Pandas 系列对象。我们将 Pandas 数组属性应用于该系列对象 s1。

输出

0    1
1    2
2    3
3    4
dtype: int64

<PandasArray>
[1, 2, 3, 4]
长度:4,dtype: int64

生成的 ExtensionArray 是针对系列对象"s1"创建的。可以从上面的输出块中看到,该块是 PandasArray。

示例 2

import pandas as pd

# 创建日期
date = pd.date_range("2021-06-01", periods=5, freq="M")

# 创建包含日期序列的 pandas Series
s2 = pd.Series(date)

print(s2)

print(s2.array)

解释

我们取一个包含日期时间序列值的 Series,并使用 Series 属性".array"获取一个 ExtensionArray。

输出

输出

0    2021-06-30
1    2021-07-31
2    2021-08-31
3    2021-09-30
4    2021-10-31
dtype: datetime64[ns]

<DatetimeArray>
['2021-06-30 00:00:00', '2021-07-31 00:00:00', '2021-08-31 00:00:00',
'2021-09-30 00:00:00', '2021-10-31 00:00:00']
Length: 5, dtype: datetime64[ns]

在下面的示例中,我们可以看到使用"array"属性创建的 DatatimeArray。此 DatatimeArray 是 ExtensionArray 的一种类型,适用于 Pandas 中的 DateTime 数据类型。

对于任何其他第三方数据类型,数组类型将仅为 ExtensionArray。


相关文章