数据分析 开端
数据分析 : 是把隐藏在一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究对象的内在规律.
数据分析三剑客 - Numpy Pandas Matplotlib
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。# Numpy 基于一维或多维的数组 数组开辟的内存是连续的 数据容器 import numpy as np # array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0) 数据源 默认整型 arr1 = np.array([1,2,3,4,5]) 一维 arr1 = np.array([[1,2,3],[3,4,"two"]]) 二维 # 传进来的列表中包含了不同的数据类型,则统一为统一类型,优先级:str>float>int
# 加载一张图片进来 import matplotlib.pyplot as plt import matplotlib.pyplot as plt img_arr = plt.imread('./toy.jpg') #读图片 图像 # img_arr # 三维数组 plt.imshow(img_arr) # 显示图片 img_arr = img_arr-10 plt.imshow(img_arr) -------------------------------------- np routines 函数创建 img_arr.shape #(191, 199, 3) x y 3维 np.full(shape=(5,6,3),fill_value=12) # 几行几列 几纬度 数据填充 np.linspace(0,100,10) # 基于等差数列的一位数组(不能,参数没有shape) np.arange(0,100,3) # 一维数组
---------------------------------------
np.random.randint(0,100,size=(6,7)) #randint(low, high=None, size/shape=None, dtype='l')
# 随机性固定 随机因子
np.random.seed(10)
np.random.randint(0,100,size=(6,7))
np.random.random(size=(4,5)) #(size=None) [0.0, 1.0)半闭合
np.eye(5) 返回一个二维数组,对角线上是1,其他地方是0。
# ndarray的属性 ndim 维度 shape 形状(各维度的长度) size 总长度 dtype 元素类型 img_arr.ndim 3 img_arr.size 114027 img_arr.shape (191, 199, 3) img_arr.dtype dtype('uint8') type(img_arr) numpy.ndarray
ndarray 索引 一维与列表一样,多维时候同理 arr1[0][0] --------- 切片--------------- np.random.seed(1) arr = np.random.randint(0,100,size=(5,6)) arr[:2] # 获取前两行 arr[:,:2] # 获取前两列 #(行,列,三维度) arr[0:2,:2] #前2行/2列 ---------- 倒叙 ------------ # arr[::-1] 行倒叙 # arr[:,::-1] 列倒序 # arr[::-1,::-1] 行列都倒叙
# 图片各种翻转 plt.imshow(img_arr) plt.imshow(img_arr[:,::-1,:]) # 左右转 列倒 plt.imshow(img_arr[::-1,:,:]) # 上下转 列倒序 plt.imshow(img_arr[::-1,::-1,::-1]) # 全倒序
变形 ? reshape 一维变二维 -1是自动计算 二维变一维 一维
# 合并三张照片------------------------------- img_arr = plt.imread('./toy.jpg') im3 = np.concatenate((img_arr,img_arr,img_arr),1) im9 = np.concatenate((im3,im3,im3),0)\ plt.imshow(im9) # -- 切图 ---------------------------------- plt.imshow(img_arr) plt.imshow(img_arr[40:110,50:133,:]) # 求和 a1.sum(axis=0) #a.sum(axis=None, dtype=None, out=None, keepdims=False) # 排序 np.sort(a1,axis=1) #不改变输入 ndarray.sort() 本地处理 不占用空间 但改变输入
# Pandas

更多精彩