#单行注释 ‘‘‘ 多行注释 多行注释 多行注释 ‘‘‘ #a.ndim 输出数组的维数; #a.shape 输出数组的形式(几行,几列) #copy() 复制数组 #a*2 数组中每个元素乘以2 #[1,2]*2 数组将变成4个 #a**2 a的平方 #[1,2]**2 unsuported operand type #数组访问。修建异常值。处理不存在的值。 #clip() 超出某区间边界的部分修剪掉 #mean() 均值 #处理不存在的值 import numpy as np a = np.array([0,1,2,3,4,5]) b = a.reshape((3,2))#transport a array to b. change b same to a. c = a.reshape((3,2)).copy()#change c no change a.they are depended. a[a>4] = 2 #修剪异常值 d = a.clip(0,2)#d 中最大为2 e = np.array([1,2,np.NAN,3,4])## np.isnan(e) 来判定数组是否有不合理值 f = e[~np.isnan(e)] ## e[~np.isnan(e)]输出合理的数 m = np.mean(e[~np.isnan(e)]) ##均值。 ##应该时常考虑如何将数组元素的循环处理冲Python中移到高度优化的NumPy..SciPy扩展函数中(验证否定) #example 求1~1000的所有平方和 import timeit normal_py_sec = timeit.timeit(‘sum(x*x for x in xrange(1000))‘, number = 1000) naive_np_sec = timeit.timeit(‘sum(na*na)‘, setup="import numpy as np;na=np.arange(1000)", number = 1000) good_np_sec = timeit.timeit(‘na.dot(na)‘, setup="import numpy as np; na=np.arange(1000)", number = 1000) print("Normal Python :%f sec"%normal_py_sec) print("Naive Python :%f sec"%naive_np_sec) print("Good NumPy: %f sec"%good_np_sec) ‘‘‘ Normal Python :0.081011 sec Naive Python :0.384903 sec Good NumPy: 0.013812 sec 经验证,已经没有多大差别了。用 ‘‘‘
时间: 2024-10-05 10:11:11