博客
关于我
python的numpy-机器学习相关
阅读量:513 次
发布时间:2019-03-07

本文共 2000 字,大约阅读时间需要 6 分钟。

Python 与 NumPy 实用技巧

1. 从文件读取数据

使用 np.loadtxt 函数可以从文本文件中读取数据,默认以逗号分隔。这里展示了两种读取方法:

  • 默认读取方式

    import numpy as npfilepath = open('E:/1.txt')dataset = np.loadtxt(filepath, delimiter=',', usecols=(0, 1))Xdata = dataset[:, 0]  # 读取第一列Ydata = dataset[:, 1]  # 读取第二列

    结果:

    dataset:[[1.11, 3.23], [2.  , 2.  ], [3.  , 3.  ]]Xdata:[1.11, 2.  , 3.  ]
  • 使用 unpack=True

    import numpy as npfilepath = open('E:/1.txt')dataset = np.loadtxt(filepath, delimiter=',', usecols=(0, 1), unpack=True)Xdata = dataset[0]    # 读取第一列Ydata = dataset[1]    # 读取第二列

    结果:

    dataset:[[1.11, 2.  ], [3.23, 2.  ]]Xdata:[1.11, 2.  , 3.  ]

2. 矩阵运算与统计函数

矩阵点乘
import numpy as npa = [[1,2,3],     [1,3,4]]b = [[2,1,1],     [3,1,1]]np.dot(a, np.transpose(b))

结果:

array([[7, 8],       [9, 10]])
标准差计算
  • 全局标准差:
    np.std(a, axis=0)

    结果:

    array([0. , 0.5, 0.5])
  • 列标准差:
    np.std(a, axis=1)

    结果:

    array([2. , 3. ])
  • 行标准差:
    np.std(a, axis=2)

    结果:

    array([2.5])
均值计算
  • 全局均值:
    np.mean(a)

    结果:

    1.1055415967851334
  • 列均值:
    np.mean(a, axis=0)

    结果:

    array([1. , 2.5, 3.5])
加减乘除
import numpy as npa = np.array([1, 2, 3])b = np.array([2, 1, 4])c = a + b     # 加法d = a - b     # 减法e = a * b     # 乘法f = a / b     # 除法

结果:

  • c: [3, 3, 7]
  • d: [ -1, 1, -1]
  • e: [2, 6, 12]
  • f: [0.5, 0.5, 1.]

3. 样本等分

np.linspace 用于生成均匀分布的数列,适合绘图或数据采样。

-默认值-:

np.linspace(2.0, 3.0, num=5)

结果:

array([2.  , 2.25, 2.5 , 2.75, 3. ])
  • 不包含终点值-:
    np.linspace(2.0, 3.0, num=5, endpoint=False)

    结果:

    array([2. , 2.2, 2.4, 2.6, 2.8])
  • Returns step size-:
    np.linspace(2.0, 3.0, num=5, retstep=True)

    结果:

    (array([2.  , 2.25, 2.5 , 2.75, 3.  ]), 0.25)

4. 创建零矩阵

通过 np.zeros() 创建与矩阵 a 大小相同的全零矩阵。

a = np.array([[1,2,3],              [4,5,6]])b = np.zeros(a.shape)

结果:

b:[[0. , 0. , 0. ], [0. , 0. , 0. ]]

5. logspace

用于生成等比数列,常用于对数值转换。

np.logspace(1, 10, 10)

结果:

array([1.e+01, 1.e+02, 1.e+03, 1.e+04, 1.e+05, 1.e+06, 1.e+07, 1.e+08,       1.e+09, 1.e+10])

6. arange

range 类似,用于生成等差数列,常用于绘图索引。

np.arange(1, 5)

结果:

array([1, 2, 3, 4])

7. 矩阵转置

使用 T 属性。

a = np.array([[1,2],             [3,4]])a.T   # 转置矩阵

结果:

array([[1, 3],       [2, 4]])

转载地址:http://wygjz.baihongyu.com/

你可能感兴趣的文章
Multimodal Unsupervised Image-to-Image Translation多通道无监督图像翻译
查看>>
MySQL Cluster与MGR集群实战
查看>>
multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
查看>>
mysql cmake 报错,MySQL云服务器应用及cmake报错解决办法
查看>>
Multiple websites on single instance of IIS
查看>>
mysql CONCAT()函数拼接有NULL
查看>>
multiprocessing.Manager 嵌套共享对象不适用于队列
查看>>
multiprocessing.pool.map 和带有两个参数的函数
查看>>
MYSQL CONCAT函数
查看>>
multiprocessing.Pool:map_async 和 imap 有什么区别?
查看>>
MySQL Connector/Net 句柄泄露
查看>>
multiprocessor(中)
查看>>
mysql CPU使用率过高的一次处理经历
查看>>
Multisim中555定时器使用技巧
查看>>
MySQL CRUD 数据表基础操作实战
查看>>
multisim变压器反馈式_穿过隔离栅供电:认识隔离式直流/ 直流偏置电源
查看>>
mysql csv import meets charset
查看>>
multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
查看>>
MySQL DBA 数据库优化策略
查看>>
multi_index_container
查看>>