numpy + matplotlib
redis-set
flushall 清空全部
sadd 往集合中添加 # 返回1 添加成功 返回零 没添加或者重复的添加不上
smembers 查看集合的
数据分析
shift-tab 查看函数帮助
numpy
a.创建array
import numpy as np
1.一维
np.array([1,2]) # 以下缩略
2.二维
..array([[1,2],[1,2]])
array([[1,2.2],[1,'a']]) str>float 都是str格式
array([[1,2.2],[1,2]]) float>int 都是int格式
注意:
numpy默认ndarray的所有元素的类型是相同的
如果传进来的列表中包含不同的类型,则统一为同一类型,优先级:str>float>int
2.使用np的routines函数创建
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) 等差数列
np.linspace(1,100,num=20)
np.arange([start, ]stop, [step, ]dtype=None)
np.arrange(1,200,step=2) # 步长
np.random.randint(low, high=None, size=None, dtype='l')
np.random.seed(10) #随机因子/时间种子
np.random.randint(0,100,size=(4,5))
np.random.randint(0,100,size=(4,5,3)) # 三维队列
<https://blog.csdn.net/weixin_41571493/article/details/80549833>
两次生成的随机数是相同的
b.基本属性
.ndim 几维 三维
.shape 形状 长宽像素,, 颜色
.size 大小 99999
.dtype 什么数据类型 utin8
type(arr) 什么数据结构 ndarray
c.基本操作
1.索引
arr[1] 第一行
arr[[1,2]] 前两行
arr[:,[1,2]] 前两列
2.切片
arr[0:2] 前两行
arr[[0:2],[0:2]] 前两行两列的
arr[::-1] 行倒序 第一行和最后一行 上下倒个
arr[:,::-1] 列倒序 第一列和最后一列
arr[::-1,::-1] 前面是行,后面是列
3.变形
arr.reshape([-1,5]) n维变二维 -1自动补全行
arr.reshape([35,]) n维变一维
4.级联
arr.concatenate((arr,arr),axis=0) 上下级联
arr.concatenate((arr,arr),axis=1) 左右级联
d.聚合操作
arr.sum(axio=0) 列求和
arr.max() min
mean() 平均值
其他的
Function Name NaN-safe Version Description
np.sum np.nansum Compute sum of elements
np.prod np.nanprod Compute product of elements
np.mean np.nanmean Compute mean of elements
np.std np.nanstd Compute standard deviation
np.var np.nanvar Compute variance
np.min np.nanmin Find minimum value
np.max np.nanmax Find maximum value
np.argmin np.nanargmin Find index of minimum value
np.argmax np.nanargmax Find index of maximum value
np.median np.nanmedian Compute median of elements
np.percentile np.nanpercentile Compute rank-based statistics of elements
np.any N/A Evaluate whether any elements are true
np.all N/A Evaluate whether all elements are true
np.power 幂运算
matplotlib
#主要用于图片的处理,切割,反转,
小猫左右反转,改列 :,::-1
切割 [[100,400],[100,400]]
import matplotlib.pyplot as plt
img_arr = plt.imread('./cat.jpg')
plt.imshow(img_arr)
plt.imshow(img_arr - 100) # 每一个点都-100 , 长宽没大变,颜色-100变成了特殊的颜色
将图片进行全倒置操作
plt.imshow(img_arr)
plt.imshow(img_arr[:,::-1,:]) 左右转
plt.imshow(img_arr[::-1,:,:]) 上下转
plt.imshow(img_arr[::-1,::-1,::-1]) 上下左右转
裁剪
plt.imshow(img_arr[115:340,145:580,:])