02 numpy 索引与切片

文章目录

  • 切片
    • 一维数组的切片
    • 二维数组的切片
  • bool索引
      • 数组大于5的变成1,小于5的变成0
      • 数组大于5的加520,小于5的变成0
    • 二维数组
      • 大于7的偶数
  • 神奇索引
    • 获取 1,2,3 行
    • 获取 1,2,3 行 的1,2,3列
      • 取所有行的第1,2列
    • 特殊
        • 实例
  • 数组的转置transpose 方法

切片

一维数组的切片

import numpy as np
a=np.arange(10)
print(a)
print("--------------")
print(a[2:7:2])

02 numpy 索引与切片_第1张图片

二维数组的切片

import numpy as np
a=np.arange(10).reshape(2,5)
print(a)
print("--------------")
print(a[0,3])  #获取0行3列的数字
print("--------------")
print(a[1]) #获取第1行
print("--------------")
print(a[-1]) #获取最后一行
print("--------------")
print(a[0:1,1:3]) #获取0行,1-2列

02 numpy 索引与切片_第2张图片

bool索引

import numpy as np
a=np.arange(10)
#筛选大于5的数字
b=a>5
print(b)
print(a[b])

02 numpy 索引与切片_第3张图片

数组大于5的变成1,小于5的变成0

注意:先写小于,再写大于

import numpy as np
a=np.arange(10)
print(a)
a[a<=5]=0
a[a> 5]=1
print(a)

02 numpy 索引与切片_第4张图片

数组大于5的加520,小于5的变成0

import numpy as np
a=np.arange(10)
print(a)
a[a<=5]=0
a[a> 5]+=520
print(a)

02 numpy 索引与切片_第5张图片

二维数组

import numpy as np
a=np.arange(1,21).reshape(4,5)
print(a)
print('------------------')
a[a<=5]=0
a[a> 5]+=520
print(a)

02 numpy 索引与切片_第6张图片

大于7的偶数

import numpy as np
a=np.arange(0,10)
print(a)
print('------------------')
#大于7的偶数
b=(a>7 )&( a%2==0)
print(a[b])

02 numpy 索引与切片_第7张图片

神奇索引

获取 1,2,3 行

import numpy as np
a=np.arange(36).reshape(9,4)
print(a)
print('------------------')
print(a[[3,4,5]]) # 获取 1,2,3 行 

02 numpy 索引与切片_第8张图片

获取 1,2,3 行 的1,2,3列

import numpy as np
a=np.arange(36).reshape(4,9)
print(a)
print('------------------')
print(a[[1,2,3]]) # 获取1,2,3 行
print('------------------')
print(a[[1,2,3],[1,2,3]])

02 numpy 索引与切片_第9张图片

取所有行的第1,2列

import numpy as np
a=np.arange(36).reshape(4,9)
print(a)
print('------------------')
print(a[:,[1,2]]) 

02 numpy 索引与切片_第10张图片

特殊

import numpy as np
a=np.arange(10)
print(a)
print("-"*30)
index=np.array([[0,2],[1,3]])
print(a[index])

02 numpy 索引与切片_第11张图片

实例

02 numpy 索引与切片_第12张图片

数组的转置transpose 方法

import numpy as np
a=np.arange(10).reshape(2,5)
print(a)
print("-"*30)
print(a.transpose())

02 numpy 索引与切片_第13张图片

你可能感兴趣的:(数据分析,numpy,python)