继上节
查看数组维数
可以使用数组的ndim属性
代码示例如下:
import numpy as np
c = np.random.randint(1,9,5)
print(c.ndim)
结果如下:
当然这些也可以结合前面的各种用法来使用
1、选取数组元素
(1)一维数组的元素选取
一维数组名称[数组索引值](从零开始,若是从后往前便是从-1开始)
选取连续的元素
一维数组名称[索引值:索引值](前后索引值都可以为空(其中一个为零另外一个就不行了)当然也可以为负值)其中这里是左闭右开也就是包含起始值不包含结束值。
代码示例如下:
import numpy as np
c = np.random.randint(1,9,5)
print(c[1:-1:2])
结果如下:
获取不连续元素
数组名[索引值:索引值:步长](步长表示每隔步长减一个元素后选取一个元素)(步长为负数则是反向选取。
当然这里其实跟序列里的切片操作很相像。
二维数组的元素选取
选取单个操作
数组名[行索引值:列索引值]
选取整行或者整列
import numpy as np
c = np.array([[1,2,3],[2,3,4],[4,5,6]])
print(c[:,1])
这里选择了整个序列为一的列的数字的代码
结果如下
当然也可以选择行序列为一的这里可以将c[:,1]变为c[1,:]或者直接变为c[1]
选取某些行或列
import numpy as np
c = np.array([[1,2,3],[2,3,4],[4,5,6]])
print(c[1:3])
print(c[:,1:3])
print(c[0:2,1:3])
其中第一个是选取1到2行的元素
第二个print是选择1到2列的元素
第三个print是选择位于0到一行、1到2列的元素
结果如下
今天为大家留一串画图且关于数组的代码如下:
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression
x= np.random.rand(100,1)
y = 2+ 3* x +np.random.rand(100,1)
mo = LinearRegression()
mo.fit(x,y)
x_new = np.array([[0],[1]])
y_pred =mo.predict(x_new)
plt.scatter(x,y,s=10)
plt.plot(x_new,y_pred,color='r')
plt.xlabel('x')
plt.ylabel('y')
plt.title('pc')
plt.show()