Python数据分析与应用---Numpy数组计算基础(课后作业题)_import numpy as np tf=[true,false,true] arr1=np

arr1 = np.array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]) #创建一维数组
print(“创建的一维数组:”,arr1)
#方法二:
arr2 = np.arange(0,16,1) #数组的开始值是0(包括0),终值是16(不包括16),步长是1
print(“创建的一维数组:”,arr2)


![](https://img-blog.csdnimg.cn/direct/0ddccafcd61e47d9a7e8d05e47afb1bb.png)


2.创建一个5\*4的二维数组,值全为True(真)。



import numpy as np #导入NumPy库
arr1 = np.ones((5,4),dtype=bool)#ones函数用于创建元素全部为1的数组
#dtype:数组元素类型;bool:用1位存储的布尔值(值为True或False)
print(“一个5*4的二维数组,值全为True(真):”,arr1)


![](https://img-blog.csdnimg.cn/direct/c6f4dac0939744f7865c1fca717ed179.png)


3.从数组[3, 4, 0, 0, 5, 0]中找出非0元素的位置索引。



import numpy as np #导入NumPy库
arr1 = np.array([3,4,0,0,5,0]) #创建一维数组
inder = np.where(arr1!=0) #where找出非0(arr1!=0)元素的位置
print(inder)


![](https://img-blog.csdnimg.cn/direct/da0400a63c95482b92cd7cc77c74ca8f.png)


4.从数组np.random.choice(30,size=15,replace=False)中提取所有的偶数


5.将数组np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])中的所有奇数替换为-1



import numpy as np #导入NumPy库
arr =np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) #创建一维数组
arr[arr%2!=0]=-1

arr%2!=0:数组除与2的余数(%取余数)不等于0=奇数

print(arr)


![](https://img-blog.csdnimg.cn/direct/aee513f9dd2c4a8da3e78905bc6e74fd.png)


6.数组np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])中的所有偶数替换为-1,而不改变原数组。



import numpy as np #导入NumPy库
arr=np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) #创建一维数组
arr1=np.where(arr%20,-1,arr)
#arr%2
0:数组除于2余数0(偶数)
print(arr1)


![](https://img-blog.csdnimg.cn/direct/e995858dc43c4d0fa77293a0a1edde99.png)


7.将一维数组np.arange(10)转换为2行的二维数组。



import numpy as np #导入NumPy库
arr=np.arange(10).reshape((2,-1))#reshape改变数组形状
print(arr)


![](https://img-blog.csdnimg.cn/direct/f80834c5ffe04e47ab39db9045846cff.png)


8.将数组a = np.arange(10).reshape(2,-1)和数组b = np.repeat(1, 10).reshape(2,-1)垂直堆叠。



import numpy as np #导入NumPy库
arr1=np.arange(10).reshape((2,-1)) #reshape函数改变数组形状
arr2=np.repeat(1, 10).reshape(2,-1)#repeat函数实现数据重复
arr3=np.vstack((arr1,arr2)) #vstack函数实现数组纵向组合
print(arr3)


![](https://img-blog.csdnimg.cn/direct/58336b9da9954b9aa80d067297824a80.png)


9.将数组a = np.arange(10).reshape(2,-1)和数组b = np.repeat(1, 10).reshape(2,-1)水平堆叠。



import numpy as np
arr1=np.arange(10).reshape((2,-1))
arr2=np.repeat(1, 10).reshape(2,-1)
arr4=np.hstack((arr1,arr2)) #hastack函数实现数组横向组合
print(arr4)


![](https://img-blog.csdnimg.cn/direct/c6de36a87d1e4084bbaf9520f9345c21.png)


10.获取数组a = np.array([1,2,3,2,3,4,3,4,5,6])和数组b = np.array([7,2,10,2,7,4,9,4,9,8])元素相匹配的位置。



import numpy as np
a = np.array([1,2,3,2,3,4,3,4,5,6])
b = np.array([7,2,10,2,7,4,9,4,9,8])
arr=np.where(a==b)
print(arr)


![](https://img-blog.csdnimg.cn/direct/bc1e117506374cd6b7f442cdd3df4d0c.png)


11.从数组np.arange(15)中提取4到12之间的所有数字。



import numpy as np
arr1 = np.arange(15)
arr2=arr1[(arr1>=4)&(arr1<=12)]
print(arr2)


![](https://img-blog.csdnimg.cn/direct/02b5254fff274a61b58b538095ac79e4.png)


12.交换数组np.arange(9).reshape(3,3)中的第1列和第2列



import numpy as np
arr=np.arange(9).reshape(3,3)
arr1=arr[:,[1,0,2]]
print(arr1)


![](https://img-blog.csdnimg.cn/direct/20f788db058344d1a8bfffa31dc6f87b.png)


13.交换数组np.arange(9).reshape(3,3)中的第1行和第2行。



import numpy as np
arr=np.arange(9).reshape(3,3)
arr1=arr[[1,0,2],:]
print(arr1)


![](https://img-blog.csdnimg.cn/direct/cb06e8fe659d4893ae0c21746dd1806a.png)


14.创建一个形状为5x3的二维数组,其包含5到10之间的随机浮点数。



import numpy as np
arr=np.random.uniform(5,10,(5,3))
print(arr)


![](https://img-blog.csdnimg.cn/direct/09d4092b73274457ab238134b4372ffe.png)


15.反转二维数组np.arange(9).reshape(3,3)的行。



import numpy as np
arr=np.arange(9).reshape(3,3)
arr=arr[::-1]
print(arr)


![](https://img-blog.csdnimg.cn/direct/2a312dad02974d1fad918e392130b4cf.png)


16.反转二维数组np.arange(9).reshape(3,3)的列。



import numpy as np
arr=np.arange(9).reshape(3,3)
arr=arr[:,::-1]
print(arr)


![](https://img-blog.csdnimg.cn/direct/141724e5f2114c7b888b05aa0d7f2a6f.png)


17.把数组np.arange(15)的随机一个位置的元素值换成100。



import numpy as np
arr=np.arange(15)
np.random.seed(10)
seat =np.random.choice(len(arr))
arr[seat]=100
print(arr)


![](https://img-blog.csdnimg.cn/direct/21a79bf0af20408b84c0ba0d8f309889.png)


18.去除数组np.array([1,2,3,2,3,4,3,4,5,6])重复值,并求剩余数值的数量。



import numpy as np
arr = np.array([1,2,3,2,3,4,3,4,5,6])
unique_values_count = len(np.unique(arr))
print(“去除重复值后的数量:”, unique_values_count)


![](https://img-blog.csdnimg.cn/direct/a5416c3d95834af4965ca0a3d1a9a4f3.png)


19.找出(4×4)随机整数(数值范围0-50)二维数组每一行中的最大值。



import numpy as np
arr = np.random.randint(0, 50, size=(4, 4))
max_values = np.max(arr, axis=1)
print(“每一行中的最大值为:”, max_values)


![](https://img-blog.csdnimg.cn/direct/52ee1bd010e54ec1ba8452ee5e18a1df.png)


20.计算数组a = np.array([1,2,3,2,3,4,3,4,5,6])和数组b = np.array([7,2,10,2,7,4,9,4,9,8])之间的欧式距离。



import numpy as np
a = np.array([1,2,3,2,3,4,3,4,5,6])
b = np.array([7,2,10,2,7,4,9,4,9,8])
distance = np.linalg.norm(a - b)
print(“两个数组之间的欧式距离为:”, distance)


![](https://img-blog.csdnimg.cn/direct/cbc107d2d7c44fd9a0da73da0d7956cc.png)


21.从二维数组a = np.array([[3,3,3],[4,4,4],[5,5,5]])中的每行减去一维数组b= np.array([1,2,3])中相应的值。



import numpy as np
a = np.array([[3,3,3],[4,4,4],[5,5,5]])
b= np.array([1,2,3])
arr=a-b[:,np.newaxis]
print(arr)

**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/35c6b6992061ddd75ee5d37be3ccdd26.png)

 

![img](https://img-blog.csdnimg.cn/img_convert/996fc263ce8839e5a1b9be4ca9637038.png)

![img](https://img-blog.csdnimg.cn/img_convert/46506ae54be168b93cf63939786134ca.png)

![img](https://img-blog.csdnimg.cn/img_convert/252731a671c1fb70aad5355a2c5eeff0.png)

![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

 

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)**

6381401c05e862fe4e9.png)

![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

 

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)**

<img src="https://img-community.csdnimg.cn/images/fd6ebf0d450a4dbea7428752dc7ffd34.jpg" alt="img" style="zoom:50%;" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值