python相关工具

 

 

 

 

1.matlab与python之间的数据传递

 1 import scipy.io as sio
 2 import numpy as np
 3 
 4 ###下面是讲解python怎么读取.mat文件以及怎么处理得到的结果###
 5 load_fn = 'xxx.mat'
 6 load_data = sio.loadmat(load_fn)
 7 load_matrix = load_data['matrix'] #假设文件中存有字符变量是matrix,例如matlab中save(load_fn, 'matrix');当然可以保存多个save(load_fn, 'matrix_x', 'matrix_y', ...);
 8 load_matrix_row = load_matrix[0] #取了当时matlab中matrix的第一行,python中数组行排列
 9 
10 ###下面是讲解python怎么保存.mat文件供matlab程序使用###
11 save_fn = 'xxx.mat'
12 save_array = np.array([1,2,3,4])
13 sio.savemat(save_fn, {'array': save_array}) #和上面的一样,存在了array变量的第一行
14 
15 save_array_x = np.array([1,2,3,4])
16 save_array_y = np.array([5,6,7,8])
17 sio.savemat(save_fn, {'array_x': save_array_x, 'array_x': save_array_x}) #同理,只是

 

2.python的绘图

 1 import matpylib.pyplot as plt
 2  
 3 a=np.arange(0,4,0.01).reshape(400,1)
 4 
 5 figure1=plt.figure()
 6 plt.plot(np.linspace(0,400,400),a,'b-',label='ckc')
 7 plt.title("ckc")
 8 plt.xlabel("c")
 9 plt.ylabel("x")
10 plt.legend()
11 plt.show()

 

3.python中数组的创建操作

 

 1  1 #数组的初始化
 2  2 >>> import numpy as np
 3  3 >>> a = np.arange(15).reshape(3, 5)
 4  4 >>> a
 5  5 array([[ 0,  1,  2,  3,  4],
 6  6        [ 5,  6,  7,  8,  9],
 7  7        [10, 11, 12, 13, 14]])
 8  8 >>> a.shape
 9  9 (3, 5)
10 10 >>> a.ndim
11 11 2
12 12 >>> a.dtype.name
13 13 'int64'
14 14 >>> a.itemsize
15 15 8
16 16 >>> a.size
17 17 15
18 18 >>> type(a)
19 19 <type 'numpy.ndarray'>
20 20 >>> b = np.array([6, 7, 8])
21 21 >>> b
22 22 array([6, 7, 8])
23 23 >>> type(b)
24 24 <type 'numpy.ndarray'>
25 25 
26 26 
27 27 ones:全1 
28 28 zeros:全0 
29 29 empty:随机数,取决于内存情况
30 30 
31 31 >>> np.zeros( (3,4) )
32 32 array([[ 0.,  0.,  0.,  0.],
33 33        [ 0.,  0.,  0.,  0.],
34 34        [ 0.,  0.,  0.,  0.]])
35 35 >>> np.ones( (2,3,4), dtype=np.int16 )                # dtype can also be specified
36 36 array([[[ 1, 1, 1, 1],
37 37         [ 1, 1, 1, 1],
38 38         [ 1, 1, 1, 1]],
39 39        [[ 1, 1, 1, 1],
40 40         [ 1, 1, 1, 1],
41 41         [ 1, 1, 1, 1]]], dtype=int16)
42 42 >>> np.empty( (2,3) )                                 # uninitialized, output may vary
43 43 array([[  3.73603959e-262,   6.02658058e-154,   6.55490914e-260],
44 44        [  5.30498948e-313,   3.14673309e-307,   1.00000000e+000]])
45 45 
46 46 #np.arange()的用法
47 47 >>> np.arange( 10, 30, 5 )
48 48 array([10, 15, 20, 25])
49 49 >>> np.arange( 0, 2, 0.3 )                 # it accepts float arguments
50 50 array([ 0. ,  0.3,  0.6,  0.9,  1.2,  1.5,  1.8])
51 51 
52 52 >>> np.linspace( 0, 2, 9 )                 # 9 numbers from 0 to 2
53 53 array([ 0.  ,  0.25,  0.5 ,  0.75,  1.  ,  1.25,  1.5 ,  1.75,  2.  ])
54 54 >>> x = np.linspace( 0, 2*pi, 100 )

 

4.python从malab中获取.mat

 

1 import scipy.io as sio#io相关模块,进行操作。
2 curcwd=os.getcwd()
3 
4 mat_theory='noise_784.mat'
5 data_theory=sio.loadmat(mat_theory)
6 load_matrix=data_theory['noise_784']
7 
8 signal=load_matrix[0]#取第一行
9 signal=np.reshape(signal,(784,1))

 5.python生成随机数

 1 #rand函数,产生0到1的随机数,参数是shape
 2 np.random.rand(3,4)
 3 >>生成0到1的随机数,shape为3行四列
 4 
 5 #randn函数,产生生标准正态分布,均值为0,方差为1,参数也是shape
 6 np.random.randn
 7 #randint函数,产生指定范围的随机整数,前两个参数表示范围,最后一个参数是size=(shape)
 8 np.random.randint(0,3,size=(3,4))
 9 
10 #numpy.random能产生特定分布的随机数,如normal分布、uniform分布、poisson分布等 
11 这些函数中前面几个参数是分布函数的参数,最后一个参数是shape 
12 如正态分布normal就是均值和方差,uniform就是上下界,泊松分布就是
13 
14 np.random.normal(均值,方差,size=(3,4))
15 
16 np.random.uniform(2,3,size=(3,4))#前两个参数为范围均匀分布
17 
18 np.random.pession(2,size=())#泊松分布

 6.python文件读取注意事项

 

 1 file=open('abc.tex','w')>>注意'w'写一次,会擦除之前的
 2 >>要持续写入'a'
 3 file=open("abc.txt".'a')
 4 注意文件打开后必须
 5 file.close()>>否则写入操作会遇到问题
 6 
 7 ####获取每一行的元素放在数组中
 8 file = open('text_c.txt')
 9  
10 lines = file.readlines()  
11 aa=[]  
12 for line in lines:  
13     temp=line.replace('\n','')  #将每一行的换行符去掉。
14     aa.append(temp)  

 

posted @ 2018-05-02 20:35  陈柯成  阅读(179)  评论(0编辑  收藏  举报