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. ZOJ 4027 Sequence Swapping(DP)题解

    题意:一串括号,每个括号代表一个值,当有相邻括号组成()时,可以交换他们两个并得到他们值的乘积,问你最大能得到多少 思路:DP题,注定想得掉头发. 显然一个左括号( 的最远交换距离由他右边的左括号的最 ...

  2. ZOJ 3593 One Person Game(ExGcd + 最优解)题解

    思路:题意转化为求 (ax+by=dis) || (ax+cy=dis) || (bx+cy=dis) 三个式子有解时的最小|x| + |y|.显然求解特解x,y直接用扩展欧几里得,那么怎么求|x| ...

  3. 【第四十章】Spring Boot 自定义拦截器

    1.首先编写拦截器代码 package com.sarnath.interceptor; import javax.servlet.http.HttpServletRequest; import ja ...

  4. Trim Galore用法及参数考量

    Trim Galore是一个非常流行的用于「去接头序列」的软件,用于处理高通量测序得到的原始数据.通常我们从测序公司拿到数据后,第一步就是评估数据的质量以及对raw data去接头处理.公司拿来的数据 ...

  5. 题解——CF Manthan, Codefest 18 (rated, Div. 1 + Div. 2) T1(找规律)

    就是找一下规律 但是奈何昨天晚上脑子抽 推错了一项QwQ 然后重新一想 A掉了QwQ #include <cstdio> #include <algorithm> #inclu ...

  6. (转) The care and maintenance of your adviser

    The care and maintenance of your adviser Ever since the advent of graduate school, students have com ...

  7. [easyui] - 在easyui的table中展示提示框

    因为在easyui的table中字段过多,而无法展示全时,被迫只能使用这个方法. 使用方式: 在 $('#dg').datagrid({ 后的 queryParams: form2Json('sear ...

  8. Linux 下上手 STC89C52RC

    第一次接触单片机,自然选择了简单的51单片机.然而我的操作系统是 Linux .在 Windows 下上手51似乎很容易.但是 Linux 上搭建 51 开发环境不是很顺. 那么谈谈 Linux 我如 ...

  9. Go 定长的数组

    1.Go 语言数组的简介 几乎所有的计算机语言都有数组,应用非常的广泛.同样,在 Go 语言中也有数组并且在数组的基础上还衍生出了切片(slice). 数组是一系列同一类型数据的集合,数组中包含的每个 ...

  10. 使用explain来分析SQL语句实现优化SQL语句

    用法:explain sql 作用:用于分析sql语句 mysql> explain select * from quser_1 where loginemail = "quctest ...