Y.Z*_*Y.Z 6 python arrays numpy dataframe pandas
我想将两个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)
Run Code Online (Sandbox Code Playgroud)
但事实证明这是一个错误说:
ValueError: could not broadcast input array from shape (1020,1024) into shape (1020)
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能将这两个numpy数组转换为一个数据帧中的两列?
您不能轻易地堆叠它们,特别是如果您希望它们作为不同的列,因为您无法在DataFrame的一列中插入2D数组,因此您需要将其转换为其他内容,例如a list
.
所以像这样的东西会起作用:
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'])
Run Code Online (Sandbox Code Playgroud)
这将创建一个DataFrame
包含1020行和2列的内容,其中第二列中的每个项目都包含长度为1024的1D数组.
归档时间: |
|
查看次数: |
12695 次 |
最近记录: |