Pandas 数组

数组允许我们将多个值的集合存储在单个数据结构中。

Pandas 数组旨在为 Python 内置的 列表NumPy 数组以及其他用于处理相同类型数据的结构提供一种更节省内存、性能更增强的替代方案。


使用 Python 列表创建数组

我们可以使用 Python 列表 创建 Pandas 数组。例如:

import pandas as pd

# create a list named data
data = [2, 4, 6, 8]

# create Pandas array using data
array1 = pd.array(data)

print(array1)

输出

<IntegerArray>
[2, 4, 6, 8]
Length: 4, dtype: Int64

在上面的示例中,我们首先将 pandas 库导入为 pd,并创建了一个名为 data 的列表。请注意代码

array1 = pd.array(data)

在这里,我们通过将 data 作为参数传递给 pd.array() 函数来创建一个数组。

与创建列表并使用列表变量与 pd.array() 函数一起使用不同,我们可以直接将列表元素作为参数传递。例如:

import pandas as pd

# create Pandas array by passing list directly
array1 = pd.array([2, 4, 6, 8])

print(array1)

输出

<IntegerArray>
[2, 4, 6, 8]
Length: 4, dtype: Int64

此代码与之前的代码产生相同的输出。


显式指定数组元素的数据类型

在 Pandas 中,我们可以显式指定数组元素的类型。例如:

import pandas as pd

# creating a pandas.array of integers
int_array = pd.array([1, 2, 3, 4, 5], dtype='int')
print(int_array)
print()

# creating a pandas.array of floating-point numbers
float_array = pd.array([1.1, 2.2, 3.3, 4.4, 5.5], dtype='float')
print(float_array)
print()

# creating a pandas.array of strings
string_array = pd.array(['apple', 'banana', 'cherry', 'date'], dtype='str')
print(string_array)
print()

# creating a pandas.array of boolean values
bool_array = pd.array([True, False, True, False], dtype='bool')
print(bool_array)
print()

输出

<NumpyExtensionArray>
[1, 2, 3, 4, 5]
Length: 5, dtype: int64

<NumpyExtensionArray>
[1.1, 2.2, 3.3, 4.4, 5.5]
Length: 5, dtype: float64

<NumpyExtensionArray>
['apple', 'banana', 'cherry', 'date']
Length: 4, dtype: str192

<NumpyExtensionArray>
[True, False, True, False]
Length: 4, dtype: bool

在上面的示例中,我们在 pd.array() 中传递了 dtype 参数来显式指定数组元素的类型。

这里,

  • int_array - 通过指定 dtype = 'int' 创建一个包含整数的数组
  • float_array - 通过指定 dtype = 'float' 创建一个包含浮点数的数组
  • string_array - 通过指定 dtype = 'str' 创建一个包含字符串的数组
  • bool_array - 通过指定 dtype = 'bool' 创建一个包含布尔值(TrueFalse)的数组

从 Pandas 数组创建 Series

在 Pandas 中,我们可以直接从 Pandas 数组创建 Pandas Series

为此,我们使用 Series() 方法。让我们看一个示例。

import pandas as pd

# create a Pandas array
arr = pd.array([18, 20, 19, 21, 22])

# create a Pandas series from the Pandas array
arr_series = pd.Series(arr)

print(arr_series)

输出

0    18
1    20
2    19
3    21
4    22
dtype: Int64

在这里,我们使用了 pd.Series(arr) 来从名为 arr 的 Pandas 数组创建 Series。

在输出中,

  1. 左列表示 Series 的索引。默认索引是从 **0** 开始的整数序列。
  2. 右列表示 Series 的值,这些值对应于 Pandas 数组 arr 的值。

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战