You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整ndarray维度以成功创建Pandas DataFrame?

解决pandas DataFrame创建时的维度不匹配问题

问题场景

从字典创建pandas DataFrame时,字典内包含两个ndarray,形状分别为(325,)和(325,1),运行代码触发如下错误:

ValueError: Per-column arrays must each be 1-dimensional

调整数组维度的两种可行方案

只需将两个数组的维度统一,就能成功创建DataFrame,以下是两种常用方法:

方案1:把(325,1)的二维数组降为一维

通过numpy的ravel()、flatten()方法或索引切片实现:

import pandas as pd
import numpy as np

# 假设字典名为data_dict,其中一个数组对应键为'col_a'(一维),另一个为'col_b'(二维)
data_dict['col_b'] = data_dict['col_b'].ravel()  # 替代写法:data_dict['col_b'].flatten() 或 data_dict['col_b'][:, 0]

df = pd.DataFrame(data_dict)

方案2:把(325,)的一维数组升为二维

通过numpy的reshape()方法或np.newaxis实现:

import pandas as pd
import numpy as np

# 假设字典名为data_dict,'col_a'是一维数组,'col_b'是二维数组
data_dict['col_a'] = data_dict['col_a'].reshape(-1, 1)  # 替代写法:data_dict['col_a'][:, np.newaxis]

df = pd.DataFrame(data_dict)

补充说明

两种方案都能满足pandas的要求,更推荐方案1,因为DataFrame的列本质是一维数据结构,降维处理更贴合实际使用场景。

内容的提问来源于stack exchange,提问作者PW14

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 21:13:15