2019独角兽企业重金招聘Python工程师标准>>>

import numpy as np

#### 生成ndarray数组对象(zeros,ones,eye)

  1. np.zeros(5) == np.zeros((5,)) #意思都是创建numpy的一维数组,该例的答案是[0,0,0,0,0],(5,)表示第一个参数
  2. a=random.randn(2,3) # 创建 randn(size) 服从 X~N(0,1) 的正态分布随机数组
  3. b=random.randint([low,high],size) #创建在[low, high]间的数组;a=random.randint(100,200,(3,3))

#### 将其他对象转化为ndarray数组

  1. numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0) #接受 buffer 输入参数,以流的形式读入转化成 ndarray 对象。
  2. numpy.asarray((1,2,3)) #将元组变为ndarray
  3. numpy.fromiter(iterable, dtype, count=-1) #从可迭代对象中建立 ndarray 对象,返回一维数组
  • 例:
import numpy as np
# 使用 range 函数创建列表对象
list=range(5)
it=iter(list)
# 使用迭代器创建 ndarray
x=np.fromiter(it, dtype=float)
print(x)

#### numpy从数值范围生成数组

  1. numpy.arange(start, end, step, dtype)
  2. numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) #创建一个一维数组,数组是一个等差数列构成的
  3. np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None) #函数用于创建一个于等比数列

#### Numpy--结构化数据类型

  • numpy中支持很多数据类型,比如int,float等,也可以自己使用dtype()自己新定义一个数据类型,这个数据类型可能类似于C中的数据结构。
student = np.dtype([('name','S20'),  ('age',  'i1'),  ('marks',  'f4')])
那么相当于c中:
struct student{char name[20];int age;// 8位整型数float marks // 32位浮点数
import numpy as np
student = np.dtype([('name','S20'), ('age', 'i1'), ('marks', 'f4')])
a = np.array([('abc', 21, 50),('xyz', 18, 75)], dtype = student)
print(a) # 数组的 dtype 为 int8(一个字节
x = np.array([1,2,3,4,5], dtype = np.int8)
print (x.itemsize)

#### numpy高级索引 数组可以由整数数组索引、布尔索引及花式索引

  1. 整数数组索引
q = np.array([[1,2], [3,4], [5,6]])
y = q[[0,1,2],  [0,1,0]]
print y
#[1, 4, 5]

2.布尔索引

import numpy as np
x = np.array([[  0,  1,  2],[  3,  4,  5],[  6,  7,  8],[  9,  10,  11]])
print  ('大于 5 的元素是:')
print (x[x >  5])
#[ 6  7  8  9 10 11]
#过滤数组中的非复数元素
a = np.array([1,  2+6j,  5,  3.5+5j])
print (a[np.iscomplex(a)])
#[2.0+6.j  3.5+5.j]

3.花式索引

import numpy as np
x=np.arange(32).reshape((8,4))
print (x[np.ix_([1,5,7,2],[0,3,1,2])])
'''
传入多个索引数组(要使用np.ix_)
[[ 4  7  5  6][20 23 21 22][28 31 29 30][ 8 11  9 10]]
'''

- numpy迭代器****

  1. **np.nditer(order, op_flags, flags) ** #默认行遍历优先,order遍历顺序,op_flags控制列表是否可读写,flags外部循环
#1
a = np.arange(6).reshape(2,3)
for x in np.nditer(a.T):print (x, end=", " )for x in np.nditer(a.T.copy(order='C')):print (x, end=", " )
#输出(俩个):0, 1, 2, 3, 4, 5,
#可见a的存储与a.T一样在内存中
#2
a = np.arange(0,60,5)
a = a.reshape(3,4)
for x in np.nditer(a, op_flags=['readwrite']): x[...]=2*x
print ('修改后的数组是:')
修改后的数组是:
[[  0  10  20  30][ 40  50  60  70][ 80  90 100 110]]#3
a = np.arange(0,60,5)
a = a.reshape(3,4)
print ('原始数组是:')
print ('修改后的数组是:')
for x in np.nditer(a, flags =  ['external_loop'], order =  'F'):print (x, end=", " )原始数组是:
[[ 0  5 10 15][20 25 30 35][40 45 50 55]]修改后的数组是:
[ 0 20 40], [ 5 25 45], [10 30 50], [15 35 55],

转载于:https://my.oschina.net/u/3127014/blog/2963419

python编程入门----numpy不常见的小细节相关推荐

  1. Python编程入门系列课程

    原文:https://mc.dfrobot.com.cn/thread-309195-1-1.html Python编程入门系列课程--教程目录: Python编程入门系列课程--01 智能绘星 Py ...

  2. python编程入门视频推荐_Python编程入门2021攻略,书籍推荐,视频推荐,每天更新...

    写这篇文章的初衷 2018年我大学毕业,和很多人一样.大学里的世界,我也是整天LOL.打了4年,确还只是个黄金守门员.恋爱也想都不敢想.不过,话说回来,我拿了三年的奖学金.真的不是因为我学习认真,而是 ...

  3. python编程入门经典-总算理解python编程入门经典教程

    为了提高模块加载的速度,每个模块都会在__pycache__文件夹中放置该模块的预编译模块,命名为module.version.pyc,version是模块的预编译版本编码,一般都包含Python的版 ...

  4. TZC Python编程入门教程 ————题解

    本博客原文地址:Python编程入门教程(以在线评测平台为载体) - 暴力都不会的蒟蒻 - 博客园,原文体验更佳 如果你是一名浙江2020级及以后的高中生要学习Python,抑或是一位科学工作者要学习 ...

  5. python编程入门电子书下载-最经典的25本Python编程开发电子书(附下载地址)!...

    如果,有人想转行程序猿,而让给出"如何切入编程"的建议的话,许多人一定毫不犹豫地向他推荐"Python"! 没错,就是这样一只Python,它让众多程序开发者, ...

  6. python编程语法大全-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 关于怎么快速学python,可以加下小编的python学习群:611+530+101,不管你是小白还是大牛,小编我都欢迎,不定期分享干货 每天 ...

  7. python编程语法-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_num ...

  8. python编程语法-Python编程入门——基础语法详解(经典)

    今天小编给大家带来Python编程入门--基础语法详解.温馨提示: 亮点在最后! 在这里还是要推荐下我自己建的Python开发学习群:301056051,群里都是学Python开发的,如果你正在学习P ...

  9. python编程入门经典教程-2020年5个经典python编程入门视频教程推荐学习

    近三年,python在一二线城市,越来越火热了!企业的需求也是python编程学习者的动力!python学习网整理了适合于零基础朋友的5个python编程入门视频课程,这些都是python编程入门经典 ...

最新文章

  1. 怎么知道python有哪些库、哪些方法-哪些 Python 库让你相见恨晚?
  2. ArrayList中remove方法和set(null)的区别
  3. java的二叉树及三种遍历
  4. 打通应用隔阂,AR 如何助力互联网度过寒冬?
  5. Android程序开发:简单电话拨号器
  6. 选择checkbox显示隐藏内容
  7. js实现table中td单元格合拼并求和
  8. box-shadow兼容IE8浏览器写法
  9. Deep Learning学习笔记(5)——AlphaGo
  10. 插画师如何确定自己的风格?教你如何一步步找到自己绘画风格!
  11. 固定资产标签化带来的便利
  12. Proteus与Keil联调 ARM STM32流水灯
  13. exe4j将jar包转成exe文件
  14. matlab excel 新建sheet,matlab excel的sheet增加,重命名操作
  15. 计算机主机是否接电源,如何检测电脑电源的故障
  16. Android的变化过程~
  17. arcgis根据7参转坐标_在ArcGIS Desktop中进行三参数或七参数精确投影转换
  18. 让数字内容被平等获取 | Android 开发者故事
  19. Xperia Z1参数及白皮书
  20. ESP8266学习-内置网页配置(一)

热门文章

  1. wxWidgets事件处理(手机播放器连载系列2)
  2. 输入控件控制输入限制
  3. Eclipse+MyEclipse+Tomcat下配置建立Web Project
  4. 前天做了一个点击随机改变背景色的JS,请各位老师指导下:
  5. 互利网上数字金融典型场景: 网络支付
  6. cmake安装配置及入门指南
  7. VS2017 控件添加关联变量
  8. selector的使用
  9. .htaccess跳转https
  10. JqueryUI-1