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. topcoder srm 702 div1 -3

    1.给定一个$n*m$的矩阵,里面的数字是1到$n*m$的一个排列.一个$n*m$矩阵$A$对应一个$n*m$ 的01字符串,字符串的位置$i*m+j$为1当且仅当$A_{i,j}=i*m+j+1$. ...

  2. powershell脚本的格式化

    Auto Formatting PowerShell in Visual Studio Code 1.安装visual studio code 2.安装powershell extension 3.打 ...

  3. js 二叉树删除最大值和最小值

    //删除最小值function delMinNode (root){ if(!root) { return false; } var current = root; if (current.left ...

  4. 检测浏览器(BOM)以及地址栏网址的API

    navigator.userAgent //检测浏览器的版本以及那个厂商的 (不怎么准,你比如360经常跟别人干架,所以别人检测到360浏览器就提示浏览器危险,所以360就自己修改了) //分解这个地 ...

  5. cas4.2.4 登添加验证码

    看了很多添加验证码的博文,唯独没有4.24的 重点看第3条,其余的和别人博文大致相同 1.首先在cas工程的web.xml增加验证码功能的支持 <!-- 验证码功能 -->      &l ...

  6. Qt实在太漂亮了

    我很久之前就想用Qt,无奈对c++不熟悉,学习代价太大.想使用pyqt曲线救国,搞了好久的环境后放弃了.昨天又看了个很漂亮的qt例子,太漂亮了,让我很想进圈子.就从现在开始吧!!

  7. SD--批量删除订单

    SD--批量删除订单 在sap应用中常常会需要批量删除一些错误录入的单据,为此开发了一个小程序.该程序为了安全,程序做了一下控制 1.限制用户只能删除自己的订单,不能删除别人输入的订单,如果需要修改一 ...

  8. _itemmod_hidden

    该表中的物品放在背包或银行中中会计算属性 `entry`物品ID `comment` 备注

  9. _spellmod_aura_trigger

    一.spell.dbc做一个空光环 二.配置_spellmod_aura_trigger表 comment 备注 aura 光环ID,有此光环时,才会触发下面技能 linkSpell1-3 链接的技能 ...

  10. 【BZOJ】1798: [Ahoi2009]Seq 维护序列seq

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1798 大概就是维护两个标记的线段树模板题. 设定优先级,先乘后加(只是相对的),$push ...