首页 > 其他 > 详细

【情感分析】北航课题组 笔记二

时间:2018-08-04 23:02:03      阅读:227      评论:0      收藏:0      [点我收藏+]

主讲:庄老师

 

数据处理利器—— Numpy 简介

  优点

    运算快

    封装好

  数据存储

    可存储为一维数组、二维数组、多维数组

  

 

 Numpy, Pandas, Scipy 的比较

  Numpy 主要以数值矩阵计算为主

  Pandas 基于 Numpy 的工具库,常常用于表格数据处理,用来做数据分析

  Sci 也是基于 Numpy 的工具库

 

 

python 科学计算进阶图

  技术分享图片

 

 Numpy 详解

  属性

    技术分享图片

    

    数据类型 dtype:

      技术分享图片

      数据类型之间的换算规律:

      技术分享图片

  创建特定的数组:

    技术分享图片

    代码实现:

      # 产生 0 填充矩阵

      np.zeros(shape, dtype=float, order=‘C‘)  

 

        e.g. np.zeros((row , cul))

      # 定义一个直线型数组

        a.linspaces()      

        方法一:转换到和目标矩阵一样的shape
        np.tranpose(另一个矩阵的形状)

        方法二:使用reshape
        注意 reshape 中“-1”的使用:
        >>> a = np.array([[1,2,3], [4,5,6]])
        >>> np.reshape(a, (3,-1)) # the unspecified value is inferred to be 2
        array([[1, 2],
        [3, 4],
        [5, 6]])
        -1表示我懒得计算该填什么数字,由python通过a和其他的值3推测出来。# 下面是两张2*3大小的照片(不知道有几张照片用-1代替),如何把所有二维照片给摊平成一维
        >>> image = np.array([[[1,2,3], [4,5,6]], [[1,1,1], [1,1,1]]])
        >>> image.shape(2, 2, 3)
        >>> image.reshape((-1, 6))
        array([[1, 2, 3, 4, 5, 6],[1, 1, 1, 1, 1, 1]])

 

  维度与轴:

    通过 参数 axis 指定数组对应操作的轴,axis参数的用法如下

      axis=0 ,沿着纵轴进行操作
      axis=1,沿着横轴进行操作

 

  合并与拆分:

    合并:

      c1 = np.vstack((a, b))  # 垂直方向上得合并 a 和 b,v 表示 vertical,意思是“垂直的"

      c2 = np.hstack((a, a))  # 水平方向上合并 a 和 a

      c3 = np.concatenate((a, b), axis=0)  # 在垂直方向上合并 a 和 b

 

    拆分:

    技术分享图片

 

  索引和切片:

    索引:

      索引数组指定位置的元素: a[m, n]

    切片:

      对指定维度进行切片: a[m, :],a[:, n]

      指定任意范围进行切片: a[m:n, p:q]

 

  基本数学运算与基本函数:

    基本数学运算:

      技术分享图片

    基本函数:

      技术分享图片

      技术分享图片

 

  广播(broadcasting)

    在进行数组之间元素时,会自动检测数组的形状大小,如果不一致,则会通过尾部对齐扩展数组的方式实现计算

    e.g.       

      技术分享图片

 

  生成随机数

    导入库:import np.random

    生成随机种子:np.random.seed(n)

    生成特定分布的随机数: 

      技术分享图片

    

    还有个人平常使用的一些方法:

      np.random.randn(row, cul)  # 是从标准正态分布中返回一个或多个样本值。 

      np.random.rand(row, cul)  # 随机样本位于[0, 1)中。

 

  数据的存取

    技术分享图片

 

 

python 绘图神器 matplotlib

  基本步骤:

    1. 导入绘图模块:

      import matplotlib.pyplot as plt

    2. 绘制图像:

      plt.plot()      

    3. 显示图像:

      plt.show()

 

  常用的颜色与线条控制:

    技术分享图片

 

  标注: 

    技术分享图片

 

  绘制子图:

    plt.subplot()

 

    代码实现:

      技术分享图片

 

   直方图:

    plt.hist()

 

    代码实现: 

      技术分享图片

 

  饼状图: 

    plt.pie()

 

    代码实现一个关于各产商手机销量的饼状图:    

    技术分享图片

 

 

 

Numpy 处理图片

  import matplotlib.image as mpimg

  

  代码实现:

    读取图片:

      img = mpimg.imread(‘*.jpeg‘)

    查看图片的形状:

      img.shape

    显示图像:

      plt.imshow(img)

      plt.show()

    对图像进行切片:

      img_part = img[150:600, 250:800, :]

      img_ par = img[150:600, 250:800, 0]  # 只保存一个红色通道的图片,即是灰度图

    利用数组的合并为拼接图片:

      img_contact = np.concatenate((img, img), axis=0)

    显示图像的部分通道:

      r, g, b = np.split(img, 3, axis=2) # 从维度2将图像拆分成3个

    交换 b 和 g 通道:

      rbg = np.concatenate((r, b, g), axis=2)

 

【情感分析】北航课题组 笔记二

原文:https://www.cnblogs.com/Bw98blogs/p/9420451.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!