Python 数据处理 合并二维数组和 DataFrame 中特定列的值

2024-05-24 19:39:24 浏览数 (2)

示例代码如下:

代码语言:javascript复制
import numpy as np
import pandas as pd

data = {'label': [1, 2, 3, 4]}
df = pd.DataFrame(data)

values_array = df[["label"]].values
random_array = np.random.rand(4, 2)

print(random_array)
print(values_array)

arr = np.concatenate((random_array, values_array), axis=1)
print(arr)

这段代码主要实现了以下功能:

  1. 创建一个包含单列数据的 pandas.core.frame.DataFrame
  2. 生成一个随机数数组;
  3. 将这个随机数数组与 DataFrame 中的数据列合并成一个新的 NumPy 数组

下面我们来逐行分析代码的具体实现:

代码语言:javascript复制
import numpy as np
import pandas as pd

这两行代码导入了 numpy 和 pandas 库。numpy 是 Python 中用于科学计算的基础库,提供了大量的数学函数工具,特别是对于数组的操作。pandas 是基于 numpy 构建的一个提供高性能、易用数据结构和数据分析工具的库。在本段代码中,numpy 用于生成随机数数组和执行数组操作,pandas 用于创建和操作 DataFrame

代码语言:javascript复制
data = {'label': [1, 2, 3, 4]}
df = pd.DataFrame(data)

这两行代码创建了一个包含单列数据的 DataFrame。首先定义了一个字典 data,其中键为 “label”,值为一个列表 [1, 2, 3, 4]。然后使用 pd.DataFrame (data) 将这个字典转换成了 DataFrame df。在这个 DataFrame 中,“label” 作为列名,列表中的元素作为数据填充到这一列中。

代码语言:javascript复制
values_array = df[["label"]].values

这行代码从 DataFrame df 中提取 “label” 列,并将其转换为 NumPy 数组。.values 属性返回 DataFrame 指定列的 NumPy 表示形式。

代码语言:javascript复制
random_array = np.random.rand(4, 2)

此行代码使用 numpy 库生成一个形状为 4x2(即 4 行 2 列)的随机数数组。每个元素都是从 0 到 1 之间均匀分布的随机浮点数。

代码语言:javascript复制
print(random_array)
print(values_array)

上面两行代码分别打印出前面生成的随机数数组和从 DataFrame 提取出来的值组成的数组。

代码语言:javascript复制
arr = np.concatenate((random_array, values_array), axis=1)

最后一行代码使用 numpy 库中的 concatenate () 函数将前面得到的两个数组沿着第二轴(即列方向,因为 axis=1)拼接起来。结果是一个新的 NumPy 数组 arr,它将原始 DataFrame 中 “label” 列的值作为最后一列附加到了随机数数组之后。

运行结果如下:

总结来说,这段代码通过合并随机数数组和 DataFrame 中特定列的值,展示了如何在 Python 中使用 numpy 和 pandas 进行基本的数据处理和数组操作。

0 人点赞