numpy学习,为后续机器学习铺垫

参考网址

#!/usr/bin/python
#coding=utf-8
#__author__='dahu'
#
from numpy import *
import numpy as np a = np.arange(12).reshape(2, 2, 3) # 2个2行3列的数组
print a, type(a) # ndarray
print a.shape ,'3行5列'
print a.ndim ,'轴的个数'
print a.size ,'总个数'
print a.dtype ,'每个元素的类型'
a = array(range(5)) # 创建数组
print a, type(a), 'array是工厂函数,生成数组'
b = array(tuple(range(5)))
# print b, type(b)
print linspace(1, 2, 11) ,'[start,stop],还有一个是数量'
print arange(1, 2, 0.1) , '类似range,不过可以搞浮点数'
fl = array(linspace(1, 2, 11))
print fl.dtype ,'用linspace生成浮点数组,查看每个元素类型,正确。'
c = array(zip(range(5), range(10, 15), range(20, 25)))
print c,'配合zip生成数组,纵向的'
d = array((range(5), range(10, 15), range(20, 25)))
print d,'横向的生成数组'
# print zeros((3,4)) #全0数组
# print ones((3,4)) #全1数组
print empty((3, 4)) # 函数 empty 创建一个内容随机并且依赖与内存状态的数组,这个没怎么明白 #打印数组
''' 打印规则:
最后的轴从左到右打印
次后的轴从顶向下打印
剩下的轴从顶向下打印,每个切片通过一个空行与下一个隔开
'''
print np.arange(6),'1维'
print np.arange(12).reshape(4,3),'2维'
print np.arange(24).reshape(2,3,4),'3维' # np.set_printoptions(threshold='nan') #强制打印整个数组
print arange(10000).reshape(100,100),'数组太大,省略中间部分只打印角落' #基本运算
print np.arange(10,15)-np.arange(5),'数组减法,按元素运算'
print np.arange(5)**2
print np.arange(5)*np.arange(10,15),'数组相乘,对应元素相乘'
a=np.arange(12).reshape(3,4)
a+=1
print a,'操作+=,*=也是针对每个元素来操作的'
print np.fromfunction(lambda x,y:x*y,(3,4)),'也算是构造数组,由函数生成'
# print a,a.shape
# a=a.reshape(2,2,3)
# print a
for ele in a.flat:
print ele, #对每个数组元素进行迭代,多维也可以
c=[ele for ele in a.flat]
print np.array(c).reshape(3,4) ,'迭代完了再转换成数组,不耽误'
e= np.floor(10*np.random.random((2,12))) #floor取整数位
print e
print np.hsplit(e,4),'纵向切'
print np.vsplit(e,2),'横向切'
/usr/bin/python2. /home/dahu/Homework/GMM的EM算法实现/numpy练习.py
[[[ ]
[ ]] [[ ]
[ ]]] <type 'numpy.ndarray'>
(, , ) 3行5列
轴的个数
总个数
int64 每个元素的类型
[ ] <type 'numpy.ndarray'> array是工厂函数,生成数组
[ . 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 . ] [start,stop],还有一个是数量
[ . 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9] 类似range,不过可以搞浮点数
float64 用linspace生成浮点数组,查看每个元素类型,正确。
[[ ]
[ ]
[ ]
[ ]
[ ]] 配合zip生成数组,纵向的
[[ ]
[ ]
[ ]] 横向的生成数组
[[ 0.00000000e+000 4.94065646e-324 9.88131292e-324 1.48219694e-323]
[ 1.97626258e-323 2.47032823e-323 2.96439388e-323 3.45845952e-323]
[ 3.95252517e-323 4.44659081e-323 4.94065646e-323 5.43472210e-323]]
[ ] 1维
[[ ]
[ ]
[ ]
[ ]] 2维
[[[ ]
[ ]
[ ]] [[ ]
[ ]
[ ]]] 3维
[[ ..., ]
[ ..., ]
[ ..., ]
...,
[ ..., ]
[ ..., ]
[ ..., ]] 数组太大,省略中间部分只打印角落
[ ] 数组减法,按元素运算
[ ]
[ ] 数组相乘,对应元素相乘
[[ ]
[ ]
[ ]] 操作+=,*=也是针对每个元素来操作的
[[ . . . .]
[ . . . .]
[ . . . .]] 也算是构造数组,由函数生成
[[ ]
[ ]
[ ]] 迭代完了再转换成数组,不耽误
[[ . . . . . . . . . . . .]
[ . . . . . . . . . . . .]]
[array([[ ., ., .],
[ ., ., .]]), array([[ ., ., .],
[ ., ., .]]), array([[ ., ., .],
[ ., ., .]]), array([[ ., ., .],
[ ., ., .]])] 纵向切
[array([[ ., ., ., ., ., ., ., ., ., ., ., .]]), array([[ ., ., ., ., ., ., ., ., ., ., ., .]])] 横向切 Process finished with exit code

numpy 练习的更多相关文章

  1. 利用Python进行数据分析(5) NumPy基础: ndarray索引和切片

    概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为a ...

  2. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

  3. 利用Python进行数据分析(6) NumPy基础: 矢量计算

    矢量化指的是用数组表达式代替循环来操作数组里的每个元素. NumPy提供的通用函数(既ufunc函数)是一种对ndarray中的数据进行元素级别运算的函数. 例如,square函数计算各元素的平方,r ...

  4. python安装numpy、scipy和matplotlib等whl包的方法

    最近装了python和PyCharm开发环境,但是在安装numpy和matplotlib等包时出现了问题,现总结一下在windows平台下的安装方法. 由于现在找不到了工具包新版本的exe文件,所以采 ...

  5. 深入理解numpy

    一.为啥需要numpy python虽然说注重优雅简洁,但它终究是需要考虑效率的.别说运行速度不是瓶颈,在科学计算中运行速度就是瓶颈. python的列表,跟java一样,其实只是一维列表.一维列表相 ...

  6. Python Numpy,Pandas基础笔记

    Numpy Numpy是python的一个库.支持维度数组与矩阵计算并提供大量的数学函数库. arr = np.array([[1.2,1.3,1.4],[1.5,1.6,1.7]])#创建ndarr ...

  7. broadcasting Theano vs. Numpy

    broadcasting Theano vs. Numpy broadcast mechanism allows a scalar may be added to a matrix, a vector ...

  8. python之numpy

    一.矩阵的拼接合并 列拼接:np.column_stack() >>> import numpy as np >>> a = np.arange(9).reshap ...

  9. win7系统下python安装numpy,matplotlib,scipy和scikit-learn

    1.安装numpy,matplotlib,scipy和scikit-learn win7系统下直接采用pip或者下载源文件进行安装numpy,matplotlib,scipy时会遇到各种问题,这是因为 ...

  10. 给numpy矩阵添加一列

    问题的定义: 首先我们有一个数据是一个mn的numpy矩阵现在我们希望能够进行给他加上一列变成一个m(n+1)的矩阵 import numpy as np a = np.array([[1,2,3], ...

随机推荐

  1. Redundant data in update statements

    Q:   Hibernate generates UPDATE statements, which include all columns, regardless of whether I'm cha ...

  2. POJ1011 木棒(dfs+剪枝)

    问题重述: Description乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过50个长度单位.然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始 ...

  3. mysql日志配置

    mysql在错误排查,优化的时候会用到日志 有错误日志,查询日志,慢查询日志,二进制日志 先找到日志文件,linux 一般在/etc/my.cnf中 打开看到 log-error=/webserver ...

  4. Chiaki Sequence Revisited HDU - 6304 lowbit找规律法

    Problem Description Chiaki is interested in an infinite sequence a1,a2,a3,..., which is defined as f ...

  5. portal商品展示功能逻辑

    看下接口: 返回值: 门户商品搜索功能的实现: 根据分类id进行搜索,根据关键词进行搜索,并按照一定的顺序排序 业务逻辑: 1.查询分类是否存在. 2.如果分类存在,则递归分类,展示父类商品,子类商品 ...

  6. python中如何优雅续行和换行

    http://note.youdao.com/noteshare?id=8dbcb93991a89a6cfcd95580ed2198f0

  7. bzoj 1070 费用流

    //可以网络流,但是要怎么分配每辆车让谁维修以及维修顺序呢.可以考虑每辆车维修时间对总结果的贡献,把每个修车人拆成n个点共n*m个点, //n辆车连向这n*m个点,流量1,费用k*修车时间,其中k(1 ...

  8. vim 到文件开头 结尾

    gg:命令将光标移动到文档开头 G:命令将光标移动到文档末尾

  9. pandans导出Excel并将数据保存到不同的Sheet表中

    数据存在mongodb中,按照类别导出到Excel文件,问题是想把同一类的数据放到一个sheet表中,最后只导出到一个excel文件中# coding=utf-8import pandas as pd ...

  10. eclipse/myeclipse添加插件3种方式

    个人比较偏爱links的方式,以下方式eclipse/myeclipse均适合 1.links方式 在eclipse目录先新建links目录,新建一个xx.link(例如:android.link) ...