Numpy 数据类型

  1. bool 用一位存储的布尔类型(值为TRUEFALSE
  2. inti 由所在平台决定其精度的整数(一般为int32int64
  3. int8 整数,范围为128127
  4. int16 整数,范围为32 76832 767
  5. int32 整数,范围为231231 1
  6. int64 整数,范围为263263 1
  7. uint8 无符号整数,范围为0255
  8. uint16 无符号整数,范围为065 535
  9. uint32 无符号整数,范围为02321
  10. uint64 无符号整数,范围为02641
  11. float16 半精度浮点数(16位):其中用1位表示正负号,5位表示指数,10位表示尾数
  12. float32 单精度浮点数(32位):其中用1位表示正负号,8位表示指数,23位表示尾数
  13. float64float 双精度浮点数(64位):其中用1位表示正负号,11位表示指数,52位表示尾数
  14. complex64 复数,分别用两个32位浮点数表示实部和虚部
  15. complex128complex 复数,分别用两个64位浮点数表示实部和虚部

一维数组的索引和切片

  1. import numpy as np
  2. d = np.arange(9)
  3. print (d)
  4. # [0 1 2 3 4 5 6 7 8]
  5. print (d[2:4]) # 获取2~4 之间的元素
  6. # [2 3]
  7. print (d[::-1]) # 负数下标翻转数组
  8. # [8 7 6 5 4 3 2 1 0]

# 改变数组的维度
# reshape 改变数组维度(重新调整矩阵的行数、列数、维数。)

  1. import numpy as np
  2. e = np.arange(9)
  3. print (e)
  4. # [0 1 2 3 4 5 6 7 8]
  5. e1 = e.reshape(3,3) #
  6. print (e1)
  7. #[[0 1 2]
  8. # [3 4 5]
  9. # [6 7 8]]

ravel函数完成展平

  1. import numpy as np
  2. f = np.arange(24).reshape(2,3,4)
  3. print (f)
  4. #[[[ 0 1 2 3]
  5. # [ 4 5 6 7]
  6. # [ 8 9 10 11]]
  7. #
  8. # [[12 13 14 15]
  9. # [16 17 18 19]
  10. # [20 21 22 23]]]
  11. f1 = f.ravel()
  12. print (f1)
  13. #[ 0 1 2 ..., 21 22 23]

flatten 这个函数恰如其名,flatten就是展平的意思,与ravel函数的功能相同。不过,flatten函数会请求分配内存来保存结果,而ravel函数只是返回数组的一个视图(view)

  1. f2 = f.flatten()
  2. print (f2)
  3. #[ 0 1 2 ..., 21 22 23]

shape,用元组设置维度

  1. f.shape=(6,4)
  2. print (f)
  3. #[[ 0 1 2 3]
  4. # [ 4 5 6 7]
  5. # [ 8 9 10 11]
  6. # [12 13 14 15]
  7. # [16 17 18 19]
  8. # [20 21 22 23]]

resize,resize和reshape函数的功能一样,但resize会直接修改所操作的数组:

  1. f.resize((2,12))
  2. print (f)
  3. #[[ 0 1 2 ..., 9 10 11]
  4. # [12 13 14 ..., 21 22 23]]

数组的组合

  1. import numpy as np
  2. a = np.arange(9).reshape(3,3)
  3. print (a)
  4. #[[0 1 2]
  5. # [3 4 5]
  6. # [6 7 8]]
  7. b = 2 * a
  8. print (b)
  9. #[[ 0 2 4]
  10. # [ 6 8 10]
  11. # [12 14 16]]

# 1. 水平组合hstack函数

  1. h = np.hstack((a,b))
  2. print (h)
  3. #[[ 0 1 2 0 2 4]
  4. # [ 3 4 5 6 8 10]
  5. # [ 6 7 8 12 14 16]]

# 2. 垂直组合vstack函数

  1. v = np.vstack((a,b))
  2. print (v)
  3. #[[ 0 1 2]
  4. # [ 3 4 5]
  5. # [ 6 7 8]
  6. # [ 0 2 4]
  7. # [ 6 8 10]
  8. # [12 14 16]]

# 3. 深度组合dstack函数(将一系列数组沿着纵轴(深度)方向进行层叠组合)

  1. d = np.dstack((a,b))
  2. print (d)
  3. #[[[ 0 0]
  4. # [ 1 2]
  5. # [ 2 4]]
  6. #
  7. # [[ 3 6]
  8. # [ 4 8]
  9. # [ 5 10]]
  10. #
  11. # [[ 6 12]
  12. # [ 7 14]
  13. # [ 8 16]]]

# 4. 列组合,column_stack函数对于一维数组将按列方向进行组合,对于二维数组,column_stack与hstack的效果是相同

  1. c = np.arange(5)
  2. c1 = 2 * c
  3. c2 = np.column_stack((c,c1))
  4. print (c2)
  5. #[[0 0]
  6. # [1 2]
  7. # [2 4]
  8. # [3 6]
  9. # [4 8]]
  10.  
  11. l = np.column_stack((a,b))
  12. print (l)
  13. #[[ 0 1 2 0 2 4]
  14. # [ 3 4 5 6 8 10]
  15. # [ 6 7 8 12 14 16]]

# 行组合row_stack函数(对于两个一维数组,将直接层叠起来组合成一个二维数组,对于二维数组,row_stack与vstack的效果是相同的)

  1. c = np.arange(5)
  2. c1 = 2 * c
  3. c3 = np.row_stack((c,c1))
  4. print (c3)
  5. #[[0 1 2 3 4]
  6. # [0 2 4 6 8]]
  7.  
  8. r = np.row_stack((a,b))
  9. print (r)
  10. #[[ 0 1 2]
  11. # [ 3 4 5]
  12. # [ 6 7 8]
  13. # [ 0 2 4]
  14. # [ 6 8 10]
  15. # [12 14 16]]

# 分割数组

  1. A = np.arange(9).reshape(3,3)
  2. print (A)
  3. #[[0 1 2]
  4. # [3 4 5]
  5. # [6 7 8]]

# 1. 水平分割 hsplit函数

  1. H = np.hsplit(A,3)
  2. print (H)
  3. #[array([[0],
  4. # [3],
  5. # [6]]), array([[1],
  6. # [4],
  7. # [7]]), array([[2],
  8. # [5],
  9. # [8]])]

# 调用split函数并指定参数axis=1

  1. H1 =np.split(A,3,axis=1)
  2. print (H1)
  3. #[array([[0],
  4. # [3],
  5. # [6]]), array([[1],
  6. # [4],
  7. # [7]]), array([[2],
  8. # [5],
  9. # [8]])]

# 2. 垂直分割,vsplit函数

  1. V = np.vsplit(a,3)
  2. print (V)
  3. #[array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]

# 调用split函数并指定参数axis=0

  1. V1 = np.split(A,3,axis=0)
  2. print (V1)
  3. #[array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]

# 3. 深度分割,dsplit函数

  1. C = np.arange(27).reshape(3,3,3)
  2. print (C)
  3. #[[[ 0 1 2]
  4. # [ 3 4 5]
  5. # [ 6 7 8]]
  6. #
  7. # [[ 9 10 11]
  8. # [12 13 14]
  9. # [15 16 17]]
  10. #
  11. # [[18 19 20]
  12. # [21 22 23]
  13. # [24 25 26]]]
  14. D = np.dsplit(C,3)
  15. print (D)
  16. #[array([[[ 0],
  17. # [ 3],
  18. # [ 6]],
  19. #
  20. # [[ 9],
  21. # [12],
  22. # [15]],
  23. #
  24. # [[18],
  25. # [21],
  26. # [24]]]), array([[[ 1],
  27. # [ 4],
  28. # [ 7]],
  29. #
  30. # [[10],
  31. # [13],
  32. # [16]],
  33. #
  34. # [[19],
  35. # [22],
  36. # [25]]]), array([[[ 2],
  37. # [ 5],
  38. # [ 8]],
  39. #
  40. # [[11],
  41. # [14],
  42. # [17]],
  43. #
  44. # [[20],
  45. # [23],
  46. # [26]]])]

# 数组的属性

  1. num = np.arange(24).reshape(2,12)
  2. print (num)
  3. #[[ 0 1 2 ..., 9 10 11]
  4. # [12 13 14 ..., 21 22 23]]

# 1. ndim属性,给出数组的维数,或数组轴的个数

  1. print (num.ndim)
  2. #2

# 2. size属性,给出数组元素的总个数

  1. print (num.size)
  2. #24

# 3. itemsize属性,给出数组中的元素在内存中所占的字节数

  1. print (num.itemsize)
  2. #4

# 4. nbytes属性,整个数组所占的存储空间(itemsize和size属性值的乘积)

  1. print (num.nbytes)
  2. #96

# 5. T属性,效果和transpose函数一样

# 数组的转换,tolist函数

Numpy 数据类型和基本操作的更多相关文章

  1. NumPy数据类型

    NumPy - 数据类型 NumPy 支持比 Python 更多种类的数值类型. 下表显示了 NumPy 中定义的不同标量数据类型. 序号 数据类型及描述 1. bool_存储为一个字节的布尔值(真或 ...

  2. numpy 数据类型与 Python 原生数据类型

    查看 numpy 数据类型和 Python 原生数据类型之间的对应关系: In [51]: dict([(d, type(np.zeros(1,d).tolist()[0])) for d in (n ...

  3. Redis数据类型的基本操作

    Redis数据类型的基本操作 一.string类型 1.设置value

  4. 2、NumPy 数据类型

    1.NumPy 数据类型 numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型.下表列举了常用 NumP ...

  5. Lesson3——NumPy 数据类型

    NumPy 教程目录 NumPy 数据类型 numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型. 下表 ...

  6. Redis 学习笔记-5种数据类型的基本操作

    1.string类型 基本操作列表: GET 获取指定键对应的值 SET 设定键值 DEL 删除指定键对应的值(对所有数据类型都有效) > set hello world OK > get ...

  7. Numpy 数据类型

    numpy支持的数据类型比Python内置的类型多很多,基本上可以和C语言的数据类型对应上, 其中部分类型对应为Python内置的类型.下表列举了常用的Numpy基本类型. 名称 描述 bool_ 布 ...

  8. MYSQL数据类型 表基本操作 表记录增删改 单表查询

    一.数据类型 常用的数据类型如下: 整数:int,bit 小数:decimal 字符串:varchar,char 日期时间: date, time, datetime 枚举类型(enum) 特别说明的 ...

  9. Numpy数据类型转化astype,dtype

    1. 查看数据类型 import numpy as np arr = np.array([1,2,3,4,5]) print(arr) [1 2 3 4 5] # dtype用来查看数据类型 arr. ...

随机推荐

  1. Spring Security http标签的use-expressions="true"属性

    如果声明为true,那么在access属性要用hasRole()这样写: <intercept-url pattern="/secure/extreme/**" access ...

  2. Spring 注解配置(2)——@Autowired

    版权声明:本文为博主原创文章,如需转载请标注转载地址. 博客地址:http://www.cnblogs.com/caoyc/p/5626365.html  @Autowired 注释,它可以对类成员变 ...

  3. Codeforces 1090M - The Pleasant Walk - [签到水题][2018-2019 Russia Open High School Programming Contest Problem M]

    题目链接:https://codeforces.com/contest/1090/problem/M There are n houses along the road where Anya live ...

  4. 关于java中Pattern和Matcher区别于联系

    本文章转自: http://blog.csdn.net/cclovett/article/details/12448843 结论:Pattern与Matcher一起合作.Matcher类提供了对正则表 ...

  5. MySQL慢查询日志总结 日志分析工具mysqldumpslow

    MySQL慢查询日志总结 - 潇湘隐者 - 博客园 https://www.cnblogs.com/kerrycode/p/5593204.html 2016-06-17 10:32 by 潇湘隐者, ...

  6. Java ee第四周作业

    代码下载链接:https://github.com/javaee/tutorial-examples/tree/master/web/jsf/hello1 代码内容: /*** Copyright ( ...

  7. day5_函数返回值

    每个函数都有返回值,如果没有在函数里面指定返回值的话,在python里面函数执行完之后,默认会返回一个None,函数也可以有多个返回值,如果有多个返回值的话,会把返回值都放到一个元组中,返回的是一个元 ...

  8. springMVC(五): 通过 HandlerMapping 获取 HandlerExecutionChain

    请求具体过程 一.HandlerMapping Interface to be implemented by objects that define a mapping between request ...

  9. 【托业】【跨栏阅读】错题集-REVIEW1

    05 06 REVIEW 1

  10. vue-cli 搭建的项目关闭 eslint

    一般不会关闭eslint,基于接手的代码用eslint的时候报错太多,强迫症的人实在忍受不了报错,先实行关闭: 1.在build 下面的 webpack.base.conf.js 找到 module- ...