博客
关于我
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/

你可能感兴趣的文章
nc命令详解
查看>>
NC综合漏洞利用工具
查看>>
ndarray 比 recarray 访问快吗?
查看>>
ndk-cmake
查看>>
NdkBootPicker 使用与安装指南
查看>>
ndk特定版本下载
查看>>
NDK编译错误expected specifier-qualifier-list before...
查看>>
Neat Stuff to Do in List Controls Using Custom Draw
查看>>
Necurs僵尸网络攻击美国金融机构 利用Trickbot银行木马窃取账户信息和欺诈
查看>>
Needle in a haystack: efficient storage of billions of photos 【转】
查看>>
NeHe OpenGL教程 07 纹理过滤、应用光照
查看>>
NeHe OpenGL教程 第四十四课:3D光晕
查看>>
Neighbor2Neighbor 开源项目教程
查看>>
neo4j图形数据库Java应用
查看>>
Neo4j图数据库_web页面关闭登录实现免登陆访问_常用的cypher语句_删除_查询_创建关系图谱---Neo4j图数据库工作笔记0013
查看>>
Neo4j图数据库的介绍_图数据库结构_节点_关系_属性_数据---Neo4j图数据库工作笔记0001
查看>>
Neo4j图数据库的数据模型_包括节点_属性_数据_关系---Neo4j图数据库工作笔记0002
查看>>
Neo4j安装部署及使用
查看>>
Neo4j电影关系图Cypher
查看>>
Neo4j的安装与使用
查看>>