python数据分析基础知识 — reshape()函数的使用


python中的reshape函数

numpy.reshape()函数主要是被用于改变数组的形状而不改变它的数据。该函数返回一个数据不变但是维度变化的数组。


一、reshape函数参数

reshape(a,newshape,order)

参数说明:

参数描述
a必须要有的,需要reshape的数组。
newshape必须要有的,新的数组形状,必须要和旧的数组形状相兼容,如果是整数,则结果将是该长度的一维的数组。一个形状尺寸可以为-1,在这种情况下该值是根据数组的长度和其余维来推断的。
order默认为“按行”排序,即行优先,order=‘c’;若要改为“按列”排列,可通过修改order参数进行改变,order=‘f’

二、reshape()函数的使用

1、修改数组的形状。

举例:

import numpy as np
x = np.array([[2,3,4], [5,6,7]])      
np.reshape(x, (3, 2))

#输出:
#array([[2, 3],
#       [4, 5],
#       [6, 7]])

2、如果是整数,则结果将是该长度的一维的数组。

举例:

import numpy as np  
x = np.array([[2,3,4], [5,6,7]])
np.reshape(x, 6)
#输出:
#array([2, 3, 4, 5, 6, 7])

3、newshape中的参数其中一个可写为-1,负数是模糊控制,负数可以为任何数,其作用在于计算机根据原数组中的元素总数自动计算行或列的值。比如reshape(-1,4)固定四行,多少列系统根据元素数量自动计算好;同理reshape(2,-2)固定两行,列数自动算好。

举例:

import numpy as np
x = np.array([[2,3,4], [5,6,7],[8,9,10],[11,12,13]])      
np.reshape(x, (-1,4))

#输出:
#array([[ 2,  3,  4,  5],
#       [ 6,  7,  8,  9],
#       [10, 11, 12, 13]])

注意:若出现了无法整除的情况,系统会报错,如下例所示。

import numpy as np
x = np.array([[2,3,4], [5,6,7],[8,9,10],[11,12,13]])      
np.reshape(x, (-1,5))

在这里插入图片描述

4、reshape()函数的默认排列方式,numpy中reshape()的默认排列方式是"按行"排列,即行优先,reshape(m,n)=reshape(m,n,order=‘c’);若要改为“按列”排列,可通过修改order参数进行改变,即reshape(m,n,order=‘f’)。

举例:

import numpy as np
x = np.array([[2,3,4], [5,6,7],[8,9,10],[11,12,13]])      
np.reshape(x, (-1,4),order='f')

#输出:
#array([[ 2, 11,  9,  7],
#       [ 5,  3, 12, 10],
#       [ 8,  6,  4, 13]])
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值