1. 在windows下Anaconda环境下练习创建虚拟环境,在虚拟环境下安装 jupyter 和 numpy,并运行jupyter,完成numpy的不少于10道的基础练习,熟悉矩阵运算。
1.1配置环境
Anaconda下载网址:
https://www.anaconda.com/products/distribution#linux
下载好运行
傻瓜式安装一直 next就可以了 然后运行Anaconda Navigator (anaconda3) 打开notebook 点击NEW然后点击python 输入np,version 如果能显就是正常的 ![请添加图片描述](https://img-blog.csdnimg.cn/49ef2536237e41e8958273048ddccc74.png)
1.2基础练习
1、创建一个长度为10的一维全为0的ndarray对象,然后让第5个元素等于1 2、创建一个元素为从10到49的ndarray对象 3、将第2题的所有元素位置反转 4、使用np.random.random创建一个1010的ndarray对象,并打印出最大最小元素 5、创建一个1010的ndarray对象,且矩阵边界全为1,里面全为0 6.创建一个范围在(0,1)之间的长度为12的等差数列 7.创建一个长度为10的随机数组并排序 8.给定一个4维矩阵,如何得到最后两维的和? 9.给定一个二维矩阵,如何交换其中两行的元素? 10.实现冒泡排序法 ![请添加图片描述](https://img-blog.csdnimg.cn/3d16a9b8ab9d42c28b471bffe78b6458.png)
2. 学习python基础知识,用完成教材前1-2章上的例题,每一章例题数量不少于5道,并且归纳整理成实验报告模式(尤其是之前没选修过python的同学必须做)。
2.1String
![请添加图片描述](https://img-blog.csdnimg.cn/6e59119f82704351bbacb4806ef78d26.png)
2.2List
![请添加图片描述](https://img-blog.csdnimg.cn/1785d6ec8c3d451f9618b7c6cb5e957e.png)
2.3Tuple
![请添加图片描述](https://img-blog.csdnimg.cn/b5df64acf05e45f79c8b9854a7456862.png)
2.4Dictionary
![请添加图片描述](https://img-blog.csdnimg.cn/39bedfddd7d8475a90652e3b6396309c.png)
3. 参考教材第3章,用Jupyter完成numpy、pandas、matplotlib三个库的例题,每个库不少于3个例题,在Jupyter完成。
3.1Jupyter
> x=np.float32(5)
print('x为:',x)
print('x对象的data属性:',x.data)
print('x对象的size属性:',x.size)
print('x对象的维度:',x.ndim)
y=np.bool_(x)
print('转换为bool类型的x为:',y)
z=np.float16(y)
print('True值转换为float16类型为:',z)
![请添加图片描述](https://img-blog.csdnimg.cn/83fd440d183b426680bc82821f832038.png)
arr=np.array([0,1,2,3,4,5,6,7])
print('秩为:',arr.ndim)
arr3D=arr.reshape(2,2,2)
print(arr3D)
print('秩为:',arr3D.ndim)
![请添加图片描述](https://img-blog.csdnimg.cn/efd87e44d0174386b604b30c79083c2b.png)
#使用astype()转换DataFrame
df=pd.DataFrame([{'qty':'3','num':'50'},{'qty':'7','num':'20'}])
print(df.dtypes)
print('-----------------')
df['qty']=df['qty'].astype('int')
df['num']=df['num'].astype('int')
print(df.dtypes)
![请添加图片描述](https://img-blog.csdnimg.cn/6093cf35e5064fbbbc83f57f35bfd259.png)
3.2Panda
print('------ 列表创建Series--------')
s1=pd.Series([1,1,1,1,1])
print(s1)
print('------ 字典创建Series--------')
s2=pd.Series({'Longitude':39,'latitude':116,'Temperature':23})
print('First value in s2:',s2['Longitude'])
print('------ 序列作Series索引------')
s3=pd.Series([3.4,0.8,2.1,0.3,1.5],range(5,10))
print('First value in s3:',s3[5])
![请添加图片描述](https://img-blog.csdnimg.cn/bbe2656e06144f7593c828fe8147684f.png)
lista=[1,2,3,9]
listb=['a','b','v','h']
df=pd.DataFrame({'col1':lista,'col2':listb})
df
![请添加图片描述](https://img-blog.csdnimg.cn/b03a1801330d42c69089bdaad387922c.png)
a=np.arange(0,60,5)
a=a.reshape(3,4)
df=pd.DataFrame(a)
print(df)
print('------------------------')
print(df.std())
![请添加图片描述](https://img-blog.csdnimg.cn/231eb67ce48e4cb380c67b9c239e9ab3.png)
3.3Matplotlib
def randrange(n, randFloor, randCeil):
rnd=np.random.rand(n)
return (randCeil-randFloor)*rnd + randFloor
plt.rcParams['font.sans-serif']=['SimHei']
fig = plt.figure(figsize=(10,8))
ax=fig.add_subplot(111,projection='3d')
n = 100
for zmin,zmax,c,m,l in [(4,15,'r','o','低值'),(13,40,'g','*','高值')]:
x=randrange(n,0,20)
y=randrange(n,0,20)
z=randrange(n,zmin,zmax)
ax.scatter(x,y,z,c=c,marker=m,label=l,s=z*6)
ax.set_xlabel('X-value')
ax.set_xlabel('Y-value')
ax.set_xlabel('Z-value')
ax.set_title("高/低值3D散点图",alpha=0.6,size=15,weight='bold')
plt.show()
fig.savefig('./散点图.jpg')
![请添加图片描述](https://img-blog.csdnimg.cn/366d625eff6a46349fb57a98b8d49ae6.png)
x=np.linspace(-10,10,100)
y=np.sin(x)
plt.plot(x,y,marker='o')
plt.savefig('./sin.jpg')
![请添加图片描述](https://img-blog.csdnimg.cn/850497b6c62a428590879c4ff139cf88.png)
fig=plt.figure()
ax=fig.add_subplot(1,1,1)
rect=plt.Rectangle((0.2,0.75),0.4,0.15,color='r',alpha=0.3)
circ=plt.Circle((0.7,0.2),0.15,color='b',alpha=0.3)
pgon=plt.Polygon([[0.15,0.15],[0.35,0.4],[0.2,0.6]],color='g',alpha=0.3)
ax.add_patch(rect)
ax.add_patch(circ)
ax.add_patch(pgon)
plt.show()
fig.savefig('./fang.jpg')
![请添加图片描述](https://img-blog.csdnimg.cn/01434fc37141445cba26d817b406f859.png)
4. 解释什么是“图灵测试"?
图灵测试 图灵测试(The Turing test)由艾伦·麦席森·图灵提出,指测试者与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。 进行多次测试后,如果机器让平均每个参与者做出超过30%的误判,那么这台机器就通过了测试,并被认为具有人类智能。图灵测试一词来源于计算机科学和密码学的先驱艾伦·麦席森·图灵写于1950年的一篇论文《计算机器与智能》,其中30%是图灵对2000年时的机器思考能力的一个预测,我们已远远落后于这个预测。 2. 测试内容 图灵提出了一种测试机器是不是具备人类智能的方法。即假设有一台电脑,其运算速度非常快、记忆容量和逻辑单元的数目也超过了人脑,而且还为这台电脑编写了许多智能化的程序,并提供了合适种类的大量数据,那么,是否就能说这台机器具有思维能力? 图灵肯定机器可以思维的,他还对智能问题从行为主义的角度给出了定义,由此提出一假想:即一个人在不接触对方的情况下,通过一种特殊的方式,和对方进行一系列的问答,如果在相当长时间内,他无法根据这些问题判断对方是人还是计算机,那么,就可以认为这个计算机具有同人相当的智力,即这台计算机是能思维的。这就是著名的“图灵测试”(Turing Testing)。当时全世界只有几台电脑,其他几乎所有计算机根本无法通过这一测试。
5.总结
本次实验,我配置了我的虚拟环境,在Anaconda环境下安装 jupyter 和 numpy,学会了如何简单的运行和运用jupyter,并做了例题,学会了一些以前不会的python知识,也巩固了以前的一点pyhon知识,本次实验不复杂,重要的是理解代码的含义,相信只要认真完成都会得到不少收获。
|