python一numpy基本语法

import numpy as np
'''
下面是numpy的基本语法
'''
#创建数组:
a=np.array([1,2,3,4]);       #一维数组
b=np.array([5,6,7,8]);
c=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]);   #二维数组

c.dtype;   #元素的数据类型可以用‘dtype’获得
c.shape;   #返回矩阵的大小(行数,列数)
c.shape=2,6;    #数组元素不变,将数组改为2行6列
c.shape=4,-1;    #想让数组输出4行,但是不知道有多少个元素,所以输入一个-1,系统会自动计算数组的长度并把改成一个4行的数组
d=c.reshape((4,3));   #将数组c变成一个4行3列的数组

#由上可知,d由c得来,c和d共享存储空间,c中元素改变,d中的也会改变,实例如下:
c[0][0]=100;

#在定义数组时指定元素的数据类型
e=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]],dtype=np.float);   #float类型
f=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]],dtype=np.complex);   #complex类型

#指定起始值,终值,步长创建新数组:
g = np.arange(0,1,0.1);  #数组中不包含终值,类似于python中的range函数
g=np.arange(10);    等价于g=np.arange(0,10,1);
h=np.linspace(0,1,10);  #默认包括终值,因此步长为1/9
l=np.linspace(0,1,10,endpoint=False); #不包括终值,因此步长为1/10
m=np.logspace(0,2,20);  #类似于linspace,创建0-2之间取20个数(x)构成等比数列,返回值为10^x;
n=np.ones((2,3),np.int);
o=np.zeros((2,3),np.float);     #元素默认类型为np.float
p=np.empty((2,3),np.int);       #只分配内存不初始化
q=np.zeros_like(a);   #等价于np.zeros(a.shape,a.dtype)
q=np.ones_like(a);
q=np.empty_like(a);

#fromfunction函数的调用:(用于创建数组)
def func(i,j):
    return (i+1)*(j+1);
a=np.fromfunction(func,(9,9));
print(a)

#数组的存取方法与python标准方法相同:
a=np.array([0,1,100,101,4,5,6,7,8,9]);
print(a[2]);         #取a中下标为2的元素
print(a[1:3]);     #数组切片,包括a[1]但不包括a[3]
print(a[:3]);    #从头开始,切到a[3](不包括)
print(a[:-1]);    #从头开始,切到a[-1](不包括)
a[1:3]=100,101;   #修改元素
print(a);
print(a[1:-1:2]);    #三个参数分别是:起始点,终点,步长,不包括终点值(下面两句代码语法相同)
print(a[::-1]);     #不规定起始点和终点,相当于将a反转
print(a[5:1:-2]);
#使用整数序列存储元素
x=np.arange(10,1,-1);
y=x[[3,3,-1,8]];
y[2]=100;       #x,y不共享数据,因此x中的值并不改变
print(y);
print(x);
x[[3,5,-1]]=-1,-2,-3;        #整数序列下标用来修改元素的值
print(x);
#使用布尔数组
x=np.arange(1,6,1);
print(x);
print(x[np.array([True,False,True,False,False])]);
print(x[[True,False,True,False,False]]);  #同上
x[np.array([True,False,True,False,False])]=-1,-2;    #用于修改元素
print(x);

#二维数组中获取元素--遍历
a=np.array([[1,2,3,4],[1,2,3,4],[1,2,3,4]])
print(a[:,1]);    #遍历第1列
print(a[0,:]);    #遍历第0行

你可能感兴趣的:(笔记,python)