numpy中数组的操作

import numpy as np

 # 1.如何利用numpy创建多维数组
 # 2.然后和医用numpy创建随机数
 # 3.如何创建矩阵,矩阵的运算,数组的运算
 # 4.利用numpy 读数据
 # 5.numpy统计函数

 # ################1.创建数组###################

# # 只有一行的数组叫:一维数组
# arr =np.array([1,2,3,4])
# print(arr)
# print(type(arr))
#
# # 二维数组:一般都是二维的
# arr2 =np.array([[1,2],[3,4],[5,6]])
# arr3 =np.array([[1,2,3],[4,5,6],[7,8,9]])
# print(arr2)
# print(arr3)
#
# # ###############2.数组的属性#################
# # 1.数组的维度
# print('arr1的维度:\n',arr.ndim)
# print('arr1的维度:\n',arr2.ndim)
# # 2.数组结构,返回元组
# print('arr2的结构:\n',arr2.shape)
# print('arr2的列的个数:\n',arr2.shape[1])
#
# # 3.数组的元素个数大小
# print('arr数组的元素个数:\n',arr.size)
# print('arr2数组的元素个数:\n',arr2.size)
#
# # 元素类型
# print('arr元素类型:\n',arr.dtype)
# print('arr2元素类型:\n',arr2.dtype)
#
# # 重设数组类型
# arr2.shape =2,3
# print(arr2)
#
# # ##################3.利用numpy专用的函数创建数组#########
# # 1.reang==>arange(起始值,终止值(不包含),步长值)
# print(np.arange(0,1,0.1))
#
# # 2.等差数列:linspace(起始值,终止值(包含),元素个数):An=A1+(n-1)D,D=(An=A1)/(n-1)
# print(np.linspace(1,10,10))
#
# # 3.等比数列:logspace(起始值,终止值(包含),元素个数)
# # 等比数列公式:an =a1*(q**(n-1)),q =an/a1
# print(np.logspace(1,10,10))
#
# # 4.全0数组
# print(np.zeros((3,2)))
# # 5.全1数组
# print(np.ones((2,3)))
#
# # 6.单位数组:
# print(np.eye(3))
# # 7.对角数组
# print(np.diag([1,2,3,4]))
#
# ########################4,随机数#########################

# 1.随机数
# print(np.random.random(100))
# 均匀分布:
# print(np.random.rand(10,5))
# 正态分布
# print(np.random.randn(10,5))
############5.数组的索引##############
## 一维数组索引
arr =np.arange(10)
print(arr[2]) #下标为二
peiint([::2]) # 步长为二
print([:]) # 所有元素
print(-1) # 最后一个

## 二维数组索引
arr1 =np.array([[1,2,3,4,5],[4,5,6,7,8],[5,6,7,8,9]])
# (1).位置索引连续
print(arr2[行索引,列索引])
print(arr2[0,1]) ##2
print(arr2[1,3]) ##7
print(arr2[1,2:])
print(arr2[1:,:2])
# (2).位置索引不连续
print(arr2[(0,0,1,1),(0,1,3,4)])
print(arr2[(0,2),(0,3)])# [1 10]
# (3).bool值取值
mask =np.array([1,0,1],dtype =np.bool)
print(mask)
print(arr2[mask,2])
##############6.数组的变换形态#####################
## reshape====>>shape
arr1 =np.arange(12)
arr2 =arr.reshape(3,4)
print(arr2)

## 数组展平
print("数组展平之后",arr2.ravel())
print("数组横向展平之后",arr2.flatten())
print("数组纵向展平之后",arr2.flatten('F'))

## 数组组合
arr3 =np.arange(12).reshape(3,4)
arr4 =3*arr3
priint(arr4)

print('横向组合',np.hstack((arr3,arr4)))
print('纵向组合',np.vstack((arr3,arr4)))
print('横向组合',np.concatenate((arr3,arr4),axis=1)) #axis=1 表示横向
print('纵向组合',np.concatenate((arr3,arr4),axis=0)) #axis=0 表示纵向
#################7.数组分隔#################
arr =np.arrange(16).reshape(4,4)
print(arr)
print('横向分割',np.hsplit(arr,2)) # 要可以平均分
print('纵向分割',np.vsplit(arr,2))
print(np.split(arr,2,axis=0)) # 纵向切割
print(np.split(arr,2,axis=1)) # 横向切割
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值