1、import numpy as npa = np.arange(0,2.1,0.1)a是一个一维数组,或者说是一个向量,从0开始,每隔0.1给出一个数字,共给出20个数字。最后不包括2.1。
2、a = np.linspace(0, 2.0, 20)构造一个等差数列的数组,初始值为0,终值为2.0,步长为2.0/19。
3、a = np.logspace(0, 2.0, 20)构造一个等比数列,初值为10^0=1,终值为10^2=100,那么公比就是:100^(1/19)。
4、把字符串转化为数组:s = 'abcdefghijklmn'a = np.fromstring(s,dtype=np.int8)这里得到的是字母对应的ASCⅡ编码。
5、a = np.fromstring(s,dtype=np.int16)把字符串转化为16位的整数。
6、s = 'abcdefghijklmn'这个字符串不能转化为32位的整数,因为s的长度不是4的倍数。不过,s = 'abcdefghijklmnop'却可以:a = np.fromstring(s,dtype=np.int32)print(a)
7、把字符串转化为64位整数,需要字符串的长度是8的倍数:
8、下面,自定义一个构造数组的函数:def f(i): return i%3+1a = np.fromfunction(f,(30,))f作用于0到30之间的整数,得到一维数组a,里面全是64位的浮点数。
9、上面的过程,还可以这样实现:a = range(30)print(np.array(a)%3.+1)把列表a转化为数组(矩阵),然后对矩阵里面的每一个元素执行mod3.+1的操作。
10、注意观察数据类型:a = range(30)b = np.array(a)%3+1
11、定义一个二元函数,可以作用于二维列表:def f(i,j): return (i+1)*(j+1)a = np.fromfunction(f,(10,10,))