import numpy as np

#创建数组(给array函数传递Python序列对象)
a = np.array([1,2,3,4,5])
b = np.array((1,2,3,4,5,6))
c = np.array([ [1,2,3,4,5], [6,7,8,9,10] ]) #数组的大小用shape属性获得
print(type(a), a.shape, a, '\n')
print(type(b), b.shape, b,'\n')
print(type(c),c.shape, c,'\n') #改变数组的shape属性,改变自身元素排列
c.shape = 2, 5
print(c.shape, c) c.shape = 10, -1
print(c.shape, c) #通过reshape改变数组排序,赋值给新数组,但是共享同一块内存
d = b.reshape((2,3))
print(d.shape, d)
b[1]=100
print(b,d) 输出:

<class 'numpy.ndarray'> (5,) [1 2 3 4 5]

<class 'numpy.ndarray'> (6,) [1 2 3 4 5 6]

<class 'numpy.ndarray'> (2, 5) [[ 1 2 3 4 5]
[ 6 7 8 9 10]]

(2, 5) [[ 1 2 3 4 5]
[ 6 7 8 9 10]]
(10, 1) [[ 1]
[ 2]
[ 3]
[ 4]
[ 5]
[ 6]
[ 7]
[ 8]
[ 9]
[10]]
(2, 3) [[1 2 3]
[4 5 6]]
[ 1 100 3 4 5 6] [[ 1 100 3]
[ 4 5 6]]

import numpy as np

#创建数组(通过numpy函数)
a = np.arange(0, 1, 0.1) #不包括终值
b = np.linspace(0, 1, 10) #包括终值,等差10个数
c = np.logspace(0, 2, 10) #从1到100,等比10个数 s = "abcdef"
d = np.fromstring(s, dtype=np.int8)
e = np.fromstring(s, dtype=np.int16)
print(a,'\n',b,'\n',c,'\n',d,'\n',e,'\n')

输出:

[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
[ 0. 0.11111111 0.22222222 0.33333333 0.44444444 0.55555556
0.66666667 0.77777778 0.88888889 1. ]
[ 1. 1.66810054 2.7825594 4.64158883 7.74263683
12.91549665 21.5443469 35.93813664 59.94842503 100. ]
[ 97 98 99 100 101 102]
[25185 25699 26213]

import numpy as np

#创建10个元素的一维数组
def func(i):
return i%4+1 print ( np.fromfunction(func,(10,)) )

输出:

[ 1.  2.  3.  4.  1.  2.  3.  4.  1.  2.]

import numpy as np

def func(i,j):
return (i + 1) * (j + 1) print(np.fromfunction(func, (9,9)))

输出:

[[ 1. 2. 3. 4. 5. 6. 7. 8. 9.]
[ 2. 4. 6. 8. 10. 12. 14. 16. 18.]
[ 3. 6. 9. 12. 15. 18. 21. 24. 27.]
[ 4. 8. 12. 16. 20. 24. 28. 32. 36.]
[ 5. 10. 15. 20. 25. 30. 35. 40. 45.]
[ 6. 12. 18. 24. 30. 36. 42. 48. 54.]
[ 7. 14. 21. 28. 35. 42. 49. 56. 63.]
[ 8. 16. 24. 32. 40. 48. 56. 64. 72.]
[ 9. 18. 27. 36. 45. 54. 63. 72. 81.]]


ndim:维度,shape:(行数,列数),size:元素总个数 dtype:指定数据类型

# -*- coding: utf-8 -*-
import numpy as np matrix = np.array([[1,2,3], [4,5,6]]) #矩阵
print("dim; ",matrix.ndim)
print("shape: ",matrix.shape)
print("size: ",matrix.size) list1 = np.array([1,2,3,4],dtype=np.int32)
print("list1 dtype: ",list1.dtype) list2 = np.array([1,2,3,4])
print("list2 dtype: ",list2.dtype) list3 = np.array([1,2,3,4],dtype=np.float)
print("list3 dtype: ",list3.dtype) list4 = np.array([1,2,3,4],dtype=np.float32)
print("list4 dtype: ",list4.dtype) list5 = np.ones((3,4),dtype=np.int)
print("list5: ",list5) list6 = np.empty((3,4))
print("list6: ",list6) list7 = np.arange(5,15).reshape((2,5))
print("list7: ",list7) list8 = np.linspace(1,11,10)
print("list8: ",list8)

输出;

dim; 2
shape: (2, 3)
size: 6
list1 dtype: int32
list2 dtype: int32
list3 dtype: float64
list4 dtype: float32
list5: [[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
list6: [[ 6.95332630e-310 1.69118108e-306 2.04722549e-306 1.29061142e-306]
[ 2.22522597e-306 1.33511969e-306 1.29061753e-306 1.11261027e-306]
[ 9.34609790e-307 1.11260619e-306 1.42410974e-306 8.34449381e-308]]
list7: [[ 5 6 7 8 9]
[10 11 12 13 14]]
list8: [ 1. 2.11111111 3.22222222 4.33333333 5.44444444
6.55555556 7.66666667 8.77777778 9.88888889 11. ]

# -*- coding: utf-8 -*-
import numpy as np a = np.arange(5)
b = np.array([1,2,3,4,5]) print("a: ",a)
print("b: ",b)
addc = a + b
print("add: ", addc) minusc = a -b
print("minus: ",minusc) timec = a * b
print("times: ",timec) squc = a**2
print("square: ",squc) sinc = 10 * np.sin(a)
print("sin: ",sinc) print("compare: ",a<3) matrix1 = np.array([[1,2,3,4],[5,6,7,8]])
matrix2 = np.arange(8).reshape((4,2))
print("matrix *: ",np.dot(matrix1,matrix2))
print("matrix *",matrix1.dot(matrix2)) suiji = np.random.random((2,4))
print("suiji: ",suiji)
print("max: ",np.max(suiji))
print("min: ",np.min(suiji))
print("sum: ",np.sum(suiji))
print("col: ",np.min(suiji,axis=0))
print("row: ",np.max(suiji,axis=1))

a: [0 1 2 3 4]
b: [1 2 3 4 5]
add: [1 3 5 7 9]
minus: [-1 -1 -1 -1 -1]
times: [ 0 2 6 12 20]
square: [ 0 1 4 9 16]
sin: [ 0. 8.41470985 9.09297427 1.41120008 -7.56802495]
compare: [ True True True False False]
matrix *: [[ 40 50]
[ 88 114]]
matrix * [[ 40 50]
[ 88 114]]
suiji: [[ 0.79302826 0.02704441 0.19401082 0.02216562]
[ 0.66149996 0.77353779 0.66565688 0.53205038]]
max: 0.793028259974
min: 0.0221656169264
sum: 3.66899411306
col: [ 0.66149996 0.02704441 0.19401082 0.02216562]
row: [ 0.79302826 0.77353779]

numpy---one的更多相关文章

  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. 在linux下手动安装 apache, php, mysql--终极版

    在linux下手动安装 apache, php, mysql: 参考: http://www.cnblogs.com/lufangtao/archive/2012/12/30/2839679.html ...

  2. windows进程中的几个杂项-hpguard 进程终止

    打印机后台进程 c:\windows\system32\spool printers,servers, tool等, 清空printers中的内容就可以正常打印; 锐爽的后视镜跟其他的车型的后视镜不一 ...

  3. 在Linux安装和使用LinuxBrew

    简介 LinuxBrew是流行的Mac OS X的一个Linux叉自制包管理器. LinuxBrew是包管理软件,它能从源(在Debian / Ubuntu的如"易/ DEB",并 ...

  4. JWT、OAUTH2与SSO资料补充

    JWT: 阮一峰:http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html https://blog.csdn.net/q ...

  5. samtools can not find libbz2.so.1.0

    Error: samtoolssamtools: error while loading shared libraries: libbz2.so.1.0: cannot open shared obj ...

  6. 微信发送红包示例(php)

    微信红包接口 微信红包是微信支付推出的一款基于微信客户端的免费服务应用,微信红包以微信支付 为核心安全保障,为广大用户提供安全,快捷的移劢支付服务. 请求URL 现金红包 https://api.mc ...

  7. facebook api之Access Tokens之Business Manager System User

    Business Manager System User Make programatic, automated actions on ad objects or Pages, or do progr ...

  8. Mysql数据类型、约束、存储引擎

    一.数据类型 整数类型 默认有符号的 设置为无符号 1.create table t2(age tinyint unsigned); 2.建表后用alter修改 tinyint[(m)] [unsig ...

  9. 51nod 1215 数组的宽度(单调栈)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1215 题意: 思路: 计算出以第i个数为最大值的区间范围,l_max[i ...

  10. HDU 3848 CC On The Tree(树形dp)

    http://acm.hdu.edu.cn/showproblem.php?pid=3848 题意: 求一棵树上两个叶子结点之间的最短距离. 思路: 两个叶子节点之间一定会经过非叶子节点,除非只有两个 ...