完美解决ValueError: Must pass 2-d input. shape=(20000, 1, 1024),此类多维数据保存到excel的详细方法!!

在这里插入图片描述


一、原始代码

data_list = data_list.cpu().numpy() #shape=(20000, 1, 1024)
data_list = pd.DataFrame(data_list)
data_list.to_excel('真实-X.xlsx') 

报错 ValueError: Must pass 2-d input. shape=(20000, 1, 1024)

二、错误分析

我试图将一个形状为(20000, 1, 1024)的数据列表转换为pandas DataFrame,然后保存为Excel文件。

因为to_excel需要2维输入,所以报错了。

经过分析发现我的data_list是一个三维的tensor,有20000个样本,每个样本是一个1x1024的向量

因此需要把它reshape成二维,有3种方法:

  1. data_list = data_list.reshape(-1,1024)

  2. data_list = data_list.squeeze()

  3. data_list = data_list.reshape(20000,1024)

三、解决办法

data_list = data_list.cpu().numpy() #shape=(20000, 1, 1024)
data_list = data_list.reshape(-1,1024) 
data_list = pd.DataFrame(data_list)
data_list.to_excel('真实-X.xlsx')

三维tensor变成二维就可以保存到excel表格中了。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值