非常适合新手小白的python基础版学习!!!
工具 :pycharm和anaconda
1.零数组 zero
#1 0数组的生成 import numpy as np a=np.zeros(4) print(a)
2.零矩阵 1矩阵 zero ones
# 2 0矩阵 1矩阵 2矩阵 import numpy as np a=np.zeros((3,5)) b=np.ones((2,4)) c=b.sum() d=2*b print(a) print(b) print(c) print(d)
3.数组标准化 array
# 3转化数组 import numpy as np a=np.array([2.71,3.14,1000]) b=np.array([[2.71],[3.14],[1000]]) c=np.array([[2,3,5],[7,11,13]]) print(a) print(b) print(c)
4.设置起止与步进的数组arange
#4 生成数组 import numpy as np a=np.arange(5) b=np.arange(1,5) c=np.arange(2.1,5.4,0.1) print(a) print(b) print(c)
5.设置起止与步进的数组linspace
# 5生成 设置起止与步进的数组 import numpy as np # a=np.arange(0,10,2) # b=np.linspace(0,10,6) # print(a) # print(b) x_min=0 x_max=10 deata_x=2 c=np.arange(x_min,x_max,deata_x) print(c)
6.生成随机矩阵random
#6 生成随机矩阵 import numpy as np a = np.random.randint(-9,3,(2,3)) #生成两行三列,大小为[-9,3)之间(左闭右开)的随机整数 print(a)
7.堆叠数组hstack、vstack
# 7堆叠数组 import numpy as np a=np.zeros((2,3)) b=np.ones((2,3)) c=np.hstack([a,b])##将数组垂直堆叠起来 d=np.vstack([a,b])##将数组水平堆叠起来 print(a) print(b) print(c) print(d)
8.数组中数据的替换
# 8数组中数据的替换 import numpy as np A=np.array([2,3,4]) A[2]=100 print(A) B=np.array([[2,3,4],[5,6,7]]) B[1,1]=100 print(B)
9.数组中数据的替换 A.copy
# 9数组中数据的替换 import numpy as np f=2.5 g=f A=np.zeros(3) # B=A.copy()#(不相互影响) B=A#(相互影响) f=3.5 A[0]=1 B[1]=1 # print(f,g,A) print(f,g,A,B)
10.取数组中部分a[ ]
#10取数组中部分 import numpy as np a=np.arange(20) print(a[3:15:2]) ##起3止15 步进2
11.计算数组的大小size
# 11计算数组的大小 import numpy as np B=np.array([[2,3,4],[5,6,7]]) N=np.size(B) print(B,N)
12.数组塑性(变换)np.reshape
# 12数组塑性 import numpy as np a = np.arange(12) b = np.reshape(a,(3,4)) print(a,b)
13.取数组中的某一部分[区别于10]
# 13取数组中的某一部分 import numpy as np a=np.arange(11,21) b=[2,3,4] c=a[b] print(a,b,c)
14.数据类型int、float、str
# 14数据类型 s='123' x=int(s)+1 p='3.14159' y=float(p)+2 y1=int(float(p))+2 z=int(float(p))+2 q=str(z)+'1' print(x,y,y1,z,q)
15.输出字符串 数据类型 进制 format
# 15 输出字符串 数据类型 进制 import numpy as np a="the value of pi is approximately "+str(np.pi) b="the value of {} is approximately {:.2f}".format('pi',np.pi) s="{1:d} plus {0:d} is {2:d}".format(2,4,2+4) q="every {2} has its {3}.".format('dog','day','rose','thorn') r="the third element of the list is {0[2]:g}.".format(np.arange(10)) # print(a) # print(b) #{:5f} 保留小数点后5位小数 # print(s) #{:d}十进制 {:b} {:o} {:x} 二进制 八进制 十六进制 # print(q) print(r) #{0[2]:g} 第一个参数中的第三个元素 g代表通用格式
16.数据引用输出
## 16 数据引用输出 import numpy as np a="the value of pi is approximately "+ str(np.pi) b="the value of %s is approximate %.5f" %('pi',np.pi) s="%d plus %d is %d"%(2,4,2+4) print(a) print(b) print(s)
17.for 循环
# 17 循环1 import numpy as np b,c=2,-1 for a in np.arange(-1,2,0.3): x=(-b+np.sqrt(b**2-4*a*c)/(2*a)) print("a={:4f},x={:3f}".format(a,x))
18.for循环(书写位置决定循环输出次数)
# 18 书写位置决定循环输出次数 import numpy as np b,c=2,-1 for a in np.arange(-1,2,0.3): x=(-b+np.sqrt(b**2-4*a*c)/(2*a)) print("a={:4f},x={:3f}".format(a,x))##不同
19.for 循环
# 19 循环2 for i in range(1,21): print(i,i**3)
20.循环3
#20 循环3 import numpy as np a,b,c=2,2,-1 while(b**2-4*a*c>=0): x=(-b+np.sqrt(b**2-4*a*c)/(2*a)) print("a={:.4f},x={:.4f}".format(a,x)) a=a-0.3 print("done!")
21.输出数组
#21 输出数组 import numpy as np b,c =2,-1 a = np.arange(-1,2,0.3) s=(-b+np.sqrt(b**2-4*a*c)/(2*a)) print(s)
22. 输出数组
#22输出数组 import numpy as np x=np.arange(1,10) a=2*x b=x+2 c=x*x d=x print(a, b, c, d)
23.数组(矩阵)相乘dot
#23数组(矩阵)相乘 import numpy as np a=np.array([1,2,3]) b=np.array([1,0.1,0.01]) x=a*b y= np.dot(a,b) ##数量积 print(x,y)
24.数组求和sum
#24数组求和 import numpy as np a=np.vstack((np.arange(20),np.arange(100,120))) b=np.sum(a,0) #B=a.sum(0) c=np.sum(a,1) #C=a.sum(1) d=sum(a) #D=a.sum() print(a) print(b) print(c) print(d)
25.分支
# 25.........................................#分支 import numpy as np import matplotlib.pyplot as plt for trial in range(5): userInput= input('pick a number') number = float(userInput) if number < 0: print('Square root is not real') else: print('Square root of {} is {:4f}'.format(number,np.sqrt(number))) userAgain = input('Another [y/n]?') if userAgain != 'y': break # check whether the loop terminated normally if trial ==4: print('sorry, only 5 per customer.') elif userAgain =='n': print('Bye!') else: print('sorry, I did not understand that.')
26.嵌套
#26........................................#嵌套 数组中值的替换 import numpy as np rows =3 columns =4 A = np.zeros((rows,columns)) for i in range(rows): for k in range(columns): A[i,k] = i**2+k**3 print(A)
27.导入数据loadtxt、open、close
#27 导入数据 ##1 import numpy as np data_set = np.loadtxt("XXX.csv",delimiter=',') ##2 import numpy as np my_file = open("XXX.csv") temp_data=[] for line in my_file: print(line) x,y = line.split(',') temp_data +=[(float(x),float(y))] my_file.close() data_set = np.array(temp_data) print(data_set )
28.导出数据/保存TXT savetxt
##28导出数据/保存TXT x=np.linspace(0,1,1001) y=3*np.sin(x)**3-np.sin(x) np.savetxt('x_value.dat',x) #保存 # y2=np.loadtxt('y_value.dat') ##导入
29.创建文本/打开文本/写入数据
# #29 创建文本/打开文本/写入数据 import numpy as np my_file =open('power.txt','w') ##打开某某文件,没有的会自动新建 ##r读出 w写入 文件若不存在,自动创建 print("N\t\t2**N\t\t3**N") ##\t 代表键入空格 print("---\t\t---\t\t\t---") my_file.write("N\t\t2**N\t\t3**N\n") my_file.write("---\t\t---\t\t---\n") for N in range(11): print("{:d}\t\t{:d}\t\t{:d}".format(N,pow(2,N),pow(3,N))) my_file.write("{:d}\t\t{:d}\t\t{:d}\n".format(N,pow(2,N),pow(3,N))) my_file.close()
30.画图2D(plot、scatter)
#30 画图2D import numpy as np import matplotlib.pyplot as plt num_points =50 x_min, x_max =0 , 4 x_value = np.linspace (x_min,x_max,num_points) y_value = x_value**2 plt.plot(x_value,y_value,'r--.') #r红色 g绿色 b蓝色 k黑色 plt.scatter(x_value,y_value) # 离散的点 plt.title("a picture",size=24,weight='bold') plt.xlabel("speed") plt.ylabel("kinetic energy") plt.show()
31.画图3D(matplotlib.pyplot)
# 31 画图3D import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = Axes3D(fig) t = np.linspace(0,5*np.pi,501) ax.plot(np.cos(t),np.sin(t),t) plt.show()
32.多种绘图plt.plot(x,y1,'r',x,y2,'ko')
# 32 多重绘图 import numpy as np import matplotlib.pyplot as plt num_points =50 x_min, x_max =0 , 4 x = np.linspace (x_min,x_max,num_points) y1 = x**2 y2 = x**3 plt.plot(x,y1,'r',x,y2,'ko') plt.show()
33.子绘图
#33 子绘图 import numpy as np import matplotlib.pyplot as plt from numpy.random import random t = np.linspace(0,1,101) plt.figure() # plt.subplot(2,2,1);plt.hist(np.random(20))#问题 plt.subplot(2,3,2);plt.plot(t,t**2,t,t**3) # plt.subplot(2,2,3);plt.plot(np.random(20),np.random(20),'r*')#问题 plt.subplot(2,3,4);plt.plot(t*np.cos(10*t),t*np.sin(10*t)) plt.show()
34.定义函数
#34 定义函数 def taxicab (pointA,pointB): interval = abs(pointB[0]-pointA[0])+abs(pointB[1]-pointA[1]) return interval fare_rate= 0.5 start = (1,2) stop = (4,5) trip_cost = taxicab(start,stop)*fare_rate print('trip_cost=',trip_cost)
35.平均数1
##35 平均值 def avg(a, b, c): he = a + b + c av = he / 3 return av a = int(input("请输入第一个数:")) b = int(input("请输入第二个数:")) c = int(input("请输入第三个数:")) print("三个数的平均值是:%d" % avg(a, b, c))
36.平均数2
# 36 平均数 lst = [] #定义一个空列表 str = input("请输入数值,用空格隔开:") lst1 = str.split(" ")#lst1用来存储输入的字符串,用空格分割 i = 0 while i <= len(lst1)+1: lst.append(int(lst1.pop()))#将lst1的数据转换为整型并赋值给lst i += 1 # print(lst) def sum(list):# "对列表的数值求和" s = 0 for x in list: s += x return s def average(list):#"对列表数据求平均值" avg = 0 avg = sum(list)/(len(list)*1.0) #调用sum函数求和 return avg print("avg = %f" %average(lst))
37.折线、散点、直方图绘制
#37 折线、散点、直方图绘制 from numpy.random import random as rng import matplotlib.pyplot as plt import numpy as np s=rng(100) j=np.arange(100) # print(j) k=0 for i in np.array(s): if i <0.5: k+=1 elif i>0.5: k-=1 else: k+=0 print(k) # plt.plot(j, s) #折线 # plt.scatter(j,s) #散点 # # plt.hist(s) #直方图 # plt.show()
最近学的就这些了,都比较基础啦