python - 将两个 numpy 数组转换为数据帧

标签 python arrays pandas numpy dataframe

我想将两个 numpy 数组转换为一个包含两列的 DataFrame。 第一个 numpy 数组“images”的形状为 102, 1024。 第二个 numpy 数组“label”的形状为 (1020, )

我的核心代码是:

images=np.array(images)
label=np.array(label)
l=np.array([images,label])
dataset=pd.DataFrame(l)

但事实证明这是一个错误:

ValueError: could not broadcast input array from shape (1020,1024) into shape (1020)

我应该怎么做才能将这两个 numpy 数组转换为一个数据帧中的两列?

最佳答案

你不能轻易地堆叠它们,特别是如果你希望它们作为不同的列,因为你不能在 DataFrame 的一列中插入一个二维数组,所以你需要将它转换成其他东西,例如 列表

所以这样的事情会起作用:

import pandas as pd
import numpy as np
images = np.array(images)
label = np.array(label)
dataset = pd.DataFrame({'label': label, 'images': list(images)}, columns=['label', 'images'])

这将创建一个具有 1020 行和 2 列的 DataFrame,其中第二列中的每个项目都包含长度为 1024 的一维数组。

关于python - 将两个 numpy 数组转换为数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46379095/

相关文章:

python - 如何在 Kubuntu 14.04 上为 Python 3 安装 PyWavelets?

mysql - 显示数组时出错

c - 将数组转换为以一个数组作为成员的结构体是否安全?

java - 如何检查数组中可能的除数?

python - 获取多个日期的平均日期 - pandas

python - 欧拉计划 #11 Numpy 方式

python - 获取一个 QuerySet 并按相关表的值之和对其进行排序

python - 使 tqdm 等函数在 Python 中接受不同类型的参数

Python argparse 在一个参数中具有多个操作

python - 将散点图分配到特定的箱中