python数据分析之numpy模块

Numpy是python语言的一个扩展程序库,支持大量的维度数组和矩阵运算。

导入numpy模块:

import numpy as np

numpy.array():数据类型需要一致,不然会自动转成字符串型

#构建二维数组
np.array([[1,2,3],[5,6,7]])

#构建一维数组
np.array([1,3,5,7,8])

构建三维数组
np.array([[[1,2,4],[24,5,7]]])

举例:

#对图片进行操作

#利用matplotlib模块获取图片数组
import matplotlib.pyplot as plt
img_arr = plt.imread('./ceshi.png')  #获取到的是一个三维数组像素,颜色

#打印图片
plt.show(img_arr)

#对图片操作
plt.show(img_arr - 0.5 )

np.linspace 等差数列,指定个数

#1,100 产生11个等差数值,返回的是一个一维数组
np.linspace(1,100,num=11)

np.arange(1,100,2):指定步长为2,产生等差数值

np.random.randint():产生一个指定行列数的随机数组:

#1到100,4行5列的随机数
np.random.randint(1,100,size=(4,5))

#可以指定随机因子,这样每次运行产生的随机数都不变,随机因子为5
np.random.seed(5)

np.random.random():在0,1之间产生随机数:

np.random.random(size=(3,5))

numpy的属性:

  1. ndim:返回维度
img_arr.ndim
  1. shape:返回几行几列
img_arr.shape
  1. size:返回多少个数值
img_arr.size
  1. dtype:返回数据类型
img_arr.dtype

多维数组的操作:

arr = np.random.randint(2,50,size=(6,8))

#显示第2行
arr[1]
#显示第2行第3列
arr[1][2]

#切片
#显示前两行
arr[0:2]

#显示前两列
arr[:,0:2]

#显示前两行前两列
arr[0:2,0:2]

#行倒序
arr[::-1]

#列倒序
arr[:,::-1]

#全部倒序
arr[::-1,::-1]

图片翻转:

#行列翻转
plt.imshow(img_arr[::-1,::-1,:])

级联:

np.concatenate((img_arr,img_arr),axis=0)

plt.imshow(np.concatenate((img_arr,img_arr),axis=0))

1.求和 arr.sum()

#全部求和
arr.sum(axis=None)

2.最大值最小值 np.max/np.min

3.排序

arr.sort(axis=0)

Guess you like

Origin blog.csdn.net/qq_37369726/article/details/116917187