Pandas pandas.series.array属性是做什么用的
“.array”是pandas series的一个属性。它将返回一个pandas ExtensionArray,其中存储了series中的值。”.array”用于获取底层数据的零拷贝引用。
结果数组不像NumPy数组,它是一个ExtensionArray,并且根据系列中存在的数据(dtype)具有不同的数组类型。
示例1
import pandas as pd
# create pandas series with numerical values
s1 = pd.Series([1,2,3,4])
print(s1)
print(s1.array)
解释
“s1”是由长度为4的整数值创建的pandas系列对象。我们对这个系列对象s1应用了pandas数组属性。
输出
0 1
1 2
2 3
3 4
dtype: int64
<PandasArray>
[1, 2, 3, 4]
Length: 4, dtype: int64
在上面的输出块中可见,为系列对象“s1”创建了结果的ExtensionArray,它是PandasArray。
示例2
import pandas as pd
# creating dates
date = pd.date_range("2021-06-01", periods=5, freq="M")
# creating pandas Series with date sequence
s2 = pd.Series(date)
print(s2)
print(s2.array)
说明
让我们以具有日期时间序列值的系列为例,使用系列属性“.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”属性创建的DatetimeArray。这个DatetimeArray是pandas中用于DateTime数据的ExtensionArray类型。
对于任何其他的第三方数据类型(dtype),其数组类型只能是ExtensionArray。