numpy多维数组转列表之reshape

#!/usr/bin/env python2
# -*- coding: utf-8 -*-


import numpy as np


# example:
data :
array([[-0.35703995,  1.39059152,  0.942042  ,  1.026705  , -0.12740605],
       [-0.40411385,  0.18849482,  1.12767095, -0.82002473,  1.00704771],
       [-0.47190315, -0.85835151, -1.17062813,  0.36865093, -0.83304016],
       [-1.74112618, -1.30695907, -2.6468025 , -1.01027212, -0.84289722]])


# 调整data的形状: eg [4,5] --> [5,4]
data.reshape([5,4]) :
array([[-0.35703995,  1.39059152,  0.942042  ,  1.026705  ],
       [-0.12740605, -0.40411385,  0.18849482,  1.12767095],
       [-0.82002473,  1.00704771, -0.47190315, -0.85835151],
       [-1.17062813,  0.36865093, -0.83304016, -1.74112618],
       [-1.30695907, -2.6468025 , -1.01027212, -0.84289722]])

# 将data转为list,不改变数据的组织结构,使用ndarray.tolist()直接转换即可
data.tolist() :
[[-0.35703994593511124,
  1.3905915232262216,
  0.9420420017892942,
  1.026705002358484,
  -0.12740604886718063],
 [-0.4041138508040703,
  0.1884948205541393,
  1.1276709521986976,
  -0.8200247311598696,
  1.0070477128177504],
 [-0.47190314610448986,
  -0.858351514926757,
  -1.17062812808398,
  0.36865092924302756,
  -0.8330401557493051],
 [-1.741126184186145,
  -1.306959073681527,
  -2.6468024959940846,
  -1.0102721154829577,
  -0.842897223828693]]

# 将data进行重组,得到一维的list:
ret_data = data.reshape(-1).tolist()

# 将一维的list中的元素reshape为多维ndarray
np.array(data.reshape(-1).tolist()).reshape(4,5)
array([[-0.35703995,  1.39059152,  0.942042  ,  1.026705  , -0.12740605],
       [-0.40411385,  0.18849482,  1.12767095, -0.82002473,  1.00704771],
       [-0.47190315, -0.85835151, -1.17062813,  0.36865093, -0.83304016],
       [-1.74112618, -1.30695907, -2.6468025 , -1.01027212, -0.84289722]])

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReLuJie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值