将NumPy数组转换为Pandas序列

将NumPy数组转换为Pandas序列

NumPy数组是一个N维数组,也称为ndarray,它是NumPy库的主要对象。同样地,Pandas序列是Pandas库的一维数据结构。Pandas和NumPy都是Python中有效使用的开源库。以下是一个示例展示了一维的NumPy数组。

NumPy array
array([1, 2, 3, 4])

Pandas系列是一个带有标签索引的一维数据结构,它非常类似于一维的NumPy数组。

Pandas Series:
0    1
1    2
2    3
3    4
4    5
dtype: int64

从上面的代码块中,我们可以看到pandas系列对象,它有5个整数元素,每个元素都标有一个位置索引值。在下面的文章中,我们将把一个NumPy数组转换为一个Pandas系列对象。

输入输出场景

让我们看看输入输出场景,以了解如何将NumPy数组转换为Pandas系列。

假设我们有一个具有几个值的一维NumPy数组,并且在输出中,我们将看到一个从NumPy数组转换而来的Pandas系列对象。

Input numpy array:
[1 2 3 4]

Output Series:
0    1
1    2
2    3
3    4
dtype: int64

将一个Numpy数组转换为Pandas Series,可以使用pandas.Series()方法。

方法pandas.Series()

方法pandas.Series()用于根据给定的数据创建一个Series对象。该方法返回一个Series对象。以下是该方法的语法:

pandas.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)

在这里,

  • data: 可迭代对象,字典或标量值。

  • index: 通过此参数指定行标签。默认值为0到n-1。

  • dtype: 这是一个字符串值,用于指定系列的数据类型。(可选)

  • name: 这是一个字符串值,用于指定系列对象的名称。(可选)

  • copy: 复制输入数据,默认为False。

示例

让我们使用pandas.Series()方法将NumPy数组转换为pandas系列。

# importing the modules
import numpy as np
import pandas as pd

# Creating a 1 dimensional numpy array
numpy_array = np.array([1, 2, 8, 3, 0, 2, 9, 4])
print("Input numpy array:")
print(numpy_array)

# Convert NumPy array to Series
s = pd.Series(numpy_array)
print("Output Series:")
print(s)

输出

Input numpy array:
[1 2 8 3 0 2 9 4]
Output Series:
0    1
1    2
2    8
3    3
4    0
5    2
6    9
7    4
dtype: int64

最初,通过使用整数元素创建一个一维的numpy数组,然后将数组转换为pandas Series对象。

示例

在这个示例中,系列从一个浮点数的NumPy数组转换而来。在转换过程中,我们将使用索引参数来指定系列对象的行标签。

# importing the modules
import numpy as np
import pandas as pd

# Creating a 1 dimensional numpy array
numpy_array = np.array([1, 2.8, 3.0, 2, 9, 4.2])
print("Input numpy array:")
print(numpy_array)


# Convert NumPy array to Series
s = pd.Series(numpy_array, index=list('abcdef'))
print("Output Series:")
print(s)

输出

Input numpy array:
[1.  2.8 3.  2.  9.  4.2]
Output Series:
a    1.0
b    2.8
c    3.0
d    2.0
e    9.0
f    4.2
dtype: float64

给定一个字符串列表,将其作为Series构造函数的索引参数。

示例

在这个示例中,我们将把一个二维的numpy数组转换为Series对象。

# importing the modules
import numpy as np
import pandas as pd

# Creating a numpy array
numpy_array = np.array([[4, 1], [7, 2], [2, 0]])
print("Input numpy array:")
print(numpy_array)

# Convert NumPy array to Series
s = pd.Series(map(lambda x: x, numpy_array))
print("Output Series:")
print(s)

输出

Input numpy array:
[[4 1]
 [7 2]
 [2 0]]
Output Series:
0    [4, 1]
1    [7, 2]
2    [2, 0]
dtype: object

通过使用map和lambda函数,我们将二维的numpy数组转换成了一个序列对象。转换后的序列的数据类型是对象类型,每个序列元素都有一个整数数组。 示例: 让我们来看一个示例,将二维数组转换成一个序列对象。

# importing the modules
import numpy as np
import pandas as pd

# Creating a numpy array
numpy_array = np.array([[4, 1], [7, 2], [2, 0]])
print("Input numpy array:")
print(numpy_array)

# Convert NumPy array to Series
s = pd.Series(map(lambda x: x[0], numpy_array))
print("Output Series:")
print(s)

输出

Input numpy array:
[[4 1]
 [7 2]
 [2 0]]
Output Series:
0    4
1    7
2    2
dtype: int64

在这里,使用二维numpy数组的第一行元素创建了该系列。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 精选笔记