Numpy将np.array添加到pandas.DataFrame列中

Numpy将np.array添加到pandas.DataFrame列中

在本文中,我们将介绍如何使用Numpy在pandas.DataFrame中添加一个np.array作为一列。

作为Python数据科学生态系统中的两个关键库,pandas和Numpy都提供了广泛的功能以简化数据操作。而将Numpy的np.array添加到pandas.DataFrame的列中是一项常见的任务,特别是在数据清洗和加工的过程中。我们将从以下几个方面介绍这个任务的解决方案。

阅读更多:Numpy 教程

生成数据

首先,我们需要生成一些示例数据以说明如何将np.array添加到pandas.DataFrame。以下是两个示例数据集,其中一个是pandas.DataFrame,另一个是Numpy的np.array。

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [1,2,3], 'B': ['a','b','c']})
arr = np.array([4,5,6])

df 是一个由字典生成的pandas.DataFrame,其中有两个列:“A”和“B”。arr是一个包含三个元素的一维np.array。接下来,我们将演示如何将arr添加到df中。

直接赋值

最简单的添加方法是直接将arr赋值给df的一个新列。这可以通过[]操作符实现:

df['New Column'] = arr

现在,我们将arr添加到df中作为新列“New Column”。视图输出df,将看到其中新增一个列。该列的值是arr中的值。

使用concat函数

另一种添加方法是使用Numpy的concat函数。concat函数可以将pandas.DataFrame和np.array水平拼接起来。这种方法可以在不改变原始数据的前提下生成一个新的pandas.DataFrame。

new_df = pd.concat([df, pd.DataFrame(arr, columns=['New Column'])], axis=1)

我们首先创建一个由arr生成的新的pandas.DataFrame,然后使用concat函数将它与原来的df水平拼接起来。

使用numpy.column_stack函数

最后一种添加方法是使用Numpy的column_stack函数。column_stack函数可以把多个np.array按列堆叠在一起。这种方法也可以在不改变原始数据的前提下生成一个新的pandas.DataFrame。

new_df = pd.DataFrame(np.column_stack((df, arr)), columns=list(df.columns)+['New Column'])

我们使用column_stack函数将dfarr堆叠在一起。新生成的np.array包含原来的dfarr。然后,我们创建一个新的pandas.DataFrame,其中包含原始df中的列以及一个新的列“New Column”,该列包含arr中的值。

总结

本文中,我们介绍了如何使用Numpy将np.array添加到pandas.DataFrame中作为一个新列。我们展示了三种方法:直接赋值、使用concat函数和使用column_stack函数。这些方法都可以在不改变原始数据的前提下生成新的pandas.DataFrame。无论是在数据清洗还是数据加工的过程中,将Numpy的np.array添加到pandas.DataFrame的列中是一项非常有用的操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程