1. 09、对ndarray的操作:索引、切片、转置_笔记
    2. # 多维数组的索引 取元素的值
    3. # axis0 axis1
    4. # 索引--->数组的切片
    5. # 在各个维度上单独切片,如果某维度都保留,则直接使用:冒号
    6. # -*- coding: utf-8 -*-
    7. __author__ = 'dongfangyao'
    8. __date__ = '2017/12/23 下午4:36'
    9. __product__ = 'PyCharm'
    10. __filename__ = 'numpy5'
    11. import numpy as np
    12. a = np.random.random((2, 3, 4))
    13. # print(a)
    14. # print(a[0][1][1])
    15. # print(a[0, 1, 1])
    16. # print(a[0][0][1:3])
    17. # print(a[0][1][1:3])
    18. # print(a[0][2][1:3])
    19. # print(a[0, :, 1:3])
    20. print('-----')
    21. # print(a[0][:].T[1:3].T)
    22. print('bool值的索引')
    23. b = np.random.random((4, 4, 2))
    24. print(b)
    25. c = b > 0.5
    26. print(c)
    27. d = b[c]
    28. print(d)
    29. 复制代码
    30. # 注意:numpy中通过切片得到的新数组,只是原来数组的一个视图,因此对新数组
    31. # 进行操作也会影响原数组 内存地址的引用还是一样
    32. # 布尔值的索引:利用布尔类型的数组进行数据索引,最终返回的结果是对应
    33. # 索引数组中数据为True位置的值
    34. # True位置的元素取出来形成一个新数组(一维的)
    35. # 条件是:b与c数组的shape必须一致
    36. # 数据提取 数据清洗用到的方法
    37. # 注意:numpy中不能使用python中的and or not操作符
    38. # 使用 & | ~来替换
    39. # 花式索引:利用整数数组进行索引的方式
    40. # ix_函数会产生一个索引器
    41. # -*- coding: utf-8 -*-
    42. __author__ = 'dongfangyao'
    43. __date__ = '2017/12/23 下午4:54'
    44. __product__ = 'PyCharm'
    45. __filename__ = 'numpy6'
    46. import numpy as np
    47. # 花式索引:利用整数数组进行索引的方式
    48. a = np.arange(32).reshape((8, -1))
    49. print(a)
    50. print('------')
    51. # print(a[1:3]) 连续
    52. # print(a[[0, 3, 5]]) 非连续行 连续的列
    53. # axis0行 axis1列
    54. # 非连续行 非连续列 交叉的值
    55. # print(a[[0, 3, 5], [0, 3, 2]])
    56. # 非连续行 非连续列 所有的
    57. print(a[np.ix_([0, 3, 5], [0, 2, 3])])
    58. print('-----')
    59. print(a[[0, 3, 5]].T[[0, 2, 3]].T)
    60. 复制代码
    61. # 数组转置与轴对换
    62. # 数组转置是指将shape进行重置操作,并将其值重置为原始shape元祖的倒置
    63. # 比如原始shape为(2,3,4) 则转置后为(4,3,2)
    64. # 对于二维数组矩阵而言,数组的转置就是矩阵的转置
    65. # 可以通过调用数组的transpose函数或T属性进行数组转置操作
    66. # -*- coding: utf-8 -*-
    67. __author__ = 'dongfangyao'
    68. __date__ = '2017/12/23 下午5:13'
    69. __product__ = 'PyCharm'
    70. __filename__ = 'numpy7'
    71. import numpy as np
    72. # shape ()
    73. a = np.arange(24).reshape((2, 3, 4))
    74. print(a)
    75. # b = a.T
    76. # b = np.transpose(a)
    77. b = a.transpose()
    78. print(b, b.shape)
    79. 复制代码