数组允许我们将多个值的集合存储在单个数据结构中。
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'
创建一个包含布尔值(True
或False
)的数组
从 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。
在输出中,
- 左列表示 Series 的索引。默认索引是从 **0** 开始的整数序列。
- 右列表示 Series 的值,这些值对应于 Pandas 数组 arr 的值。