数据分析(numpy)----06.变换数组形态

import numpy as np
# shape和reshape
a1=np.arange(15).reshape(-1,5)
print(a1)
# 注意:reshape(m,n),如果说有一个参数为-1 时,那么
# reshape函数会根据另一参数的维度计算出数组的另外一个shape属性值

a2 = a1.reshape(-1)#将多维数组变换成一维数组
print(a2)   #a1变为一维

a3 = a1.reshape(-1,1)
print(a3)  #a1变为15行1列的二维数组

a4 = a1.reshape(3,-1)
print(a4)  #a1变为三行五列的二维数组

big_array=np.arange(10000).reshape(100,100)
print(big_array)
# 注意:如果一个数组太大,在输出是numpy自动省略中间部分而只打印两边元素
#禁用numpy的这种行为并强制打印整个数组,可以在打印之前设置如下
# np.set_printoptions(threshold=np.NaN)
# print(big_array)

# 三.展平数组
# 1.ravel函数
# 说明:是reshape()函数的逆操作,不是在原数组修改,而创建一个新数组
a1 = np.arange(10)
a2 = a1.reshape(2,5)
print('a1',a1)
print('a2',a2)
# [[0 1 2 3 4]
#  [5 6 7 8 9]]
a3=a2.ravel()
print('a3',a3)
print('a2',a2)

# 2.flatten函数
# 说明:默认为横向展平,纵向展平需要加'F'参数
a4 = a2.flatten()
print('a4:',a4)
a5 = a2.flatten('F')
print('a5:',a5) #取出每一列元素横向排列
print('a2:',a2)

# ravel和flatten区别
# 都能够将多维数组降为一维数组,区别在于返回的是拷贝(copy)还是返回的是视图(view)
# numpy.flatten()返回的是copy
# 对于拷贝所做的修改不会影响到原始数据
# numpy.ravel()返回的是视图,会影响到原始数据

a1 = np.arange(10)
a2 = a1.reshape(2,5)
print('a1',a1)
print('a2',a2)
# [[0 1 2 3 4]
#  [5 6 7 8 9]]
print('a3',a3)
a3=a2.ravel()
a3[0]=100

print('a2',a2)
# sort()和sorted() sorted()是拷贝
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值