作业2:Numpy练习题

import numpy as np

# 1.查看Numpy的版本号:
print(np.__version__)	'1.19.5'
print(np.show_config())		

# 2.如何创建一个所有值都是False的布尔类型的数组:
ar = np.full((2, 2), False)
arry = np.zeros((2,2),dtype=bool)
print(ar,arry)
'''
[[False False]
 [False False]]
'''
# 3.将一个有10个数的一维数组的形状进行转换:
np.random.seed(1)
arr = np.random.randint(0,20,size=(1,10))
arr1 = arr.reshape(2,5)
print(arr1)
'''
[[ 5 11 12  8  9]
 [11  5 15  0 16]]
'''
# 4.将数组中所有偶数都替换成0(改变原来数组和不改变原来数组两种方式实现):
np.random.seed(1)
arr2 = np.random.randint(0,20,size=(4,5))
arr2[arr2%2==0] = 0     # 改变数组
arr22=np.where(arr2%2==0,0,arr2)     # 不改变数组
print(arr2)
print(arr22)
'''
[[ 5 11  0  0  9]
 [11  5 15  0  0]
 [ 1  0  7 13  0]
 [ 0  5  0 11  0]]
'''
# 5.创建一个一维且有10个数的数组,元素是从0-1之间,但是不包含0和1:
arr3 = np.random.uniform(0,1,size=(1,10))
print(arr3)
'[[0.22957721 0.53441391 0.91396202 0.45720481 0.43069857 0.93912779
  0.77838924 0.71597052 0.8027575  0.09280081]]'
# 6.求以下数组大于等于5并且小于等于10的数组:
arr4 = np.array([[ 8,15,13,8,11],
                  [18,11,8,7,2],
                  [17,11,15,5,7],
                  [ 3,6,4,10,11]])
arr5 = arr4[(arr4>=5)&(arr4<=10)]
print(arr5)
'[ 8  8  8  7  5  7  6 10]'
# 7.将一个二维数组的行和列分别进行逆向:
np.random.seed(1)
arr6 = np.random.randint(0,20,size=(4,5))
arr7 = arr6[::-1]   #行逆向
arr8 = arr6[:,::-1]     #列逆向
print(arr7)
print(arr8)
'''
行逆向
[[18  5 18 11 10]
 [ 1 12  7 13  6]
 [11  5 15  0 16]
 [ 5 11 12  8  9]]
列逆向
[[ 9  8 12 11  5]
 [16  0 15  5 11]
 [ 6 13  7 12  1]
 [10 11 18  5 18]]
'''
# 8.如何找到数组中每行的最大值:
np.random.seed(1)
arr9 = np.random.randint(0,20,size=(4,5))
arr9_max = np.max(arr9,axis=1)
print(arr9_max)
'[12 16 13 18]'
# 9.如何按照行求最小值与最大值相除的结果:
np.random.seed(9)
arr10 = np.random.randint(0,20,size=(4,5))
arr11 = np.divide(np.min(arr10,axis=1),np.max(arr10,axis=1))
print(arr11)
'[0.         0.55555556 0.05263158 0.35294118]'
# 10.判断两个数组是否完全相等:
np.random.seed(3)
arr12 = np.random.randint(0,20,size=(4,5))
np.random.seed(4)
arr13 = np.random.randint(0,20,size=(4,5))
arr14 = arr12.copy()
print('我是arr12和arr13比较是否完全相同:%s'%np.all(arr12==arr13))
print('我是arr12和arr14比较是否完全相同:%s'%np.all(arr12==arr14))
'''
我是arr12和arr13比较是否完全相同:False
我是arr12和arr14比较是否完全相同:True
'''
# 11.设置一个数组不能修改值:
np.random.seed(3)
arr15 = np.random.randint(0,20,size=(4,5))
arr15.setflags(write=0)
try:
    arr15[0,1] =100
except ValueError:
    print('ValueError: assignment destination is read-only')
else:
    print(arr15)
'ValueError: assignment destination is read-only'
# 12.找到数组中离某个元素的最近的值:
arr16 = np.array([[ 8,15,13,8,11],
                  [18,11,8,7,2],
                  [17,11,15,5,7],
                  [ 3,6,4,10,11]])

【腾讯文档】逻辑教育-数据分析课程-作业考勤表(Mark老师) 第二次作业https://docs.qq.com/sheet/DQWh5c3R0a252S2NO

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值