# -*- coding: utf-8 -*-
# date: 2021/11/1
# Project: Numpy_Pandas_Notes
# File Name: 4数组索引和切片.py
# Description: 
# Author: Anefuer_kpl
# Email: 374774222@qq.com
import numpy as np

t1 = np.array([[1,2,3], [4,5,6], [7,8,9]])
print(t1)
print('====================取行=========================')
print(t1[1])  # 取第二行
# 取连续多行
print(t1[1:]) # 取第二行之后的所有行
# 取不连续的多行
print(t1[[0,2]])  # 取不连续的多行时，需要在中间再添加一个list，用于存放取哪些行

print('====================取列=========================')
print(t1[:,1])  # 取第二列
print(t1[1:, 1]) # 取第二行之后所有行的 第二列
print(t1[:, 1:]) # 取第二列之后的所有列

print('====================取多行多列=========================')
print(t1[1,2])  # 取第2行第3列的值
print(t1[0:2, 1:3])  # 取连续的多行多列，取第1行到第2行，第2列到第3列的所有元素， PS:注意这里遵循 左开右闭 的规则 !!!
print(t1[[0,2], [0,1]])  # 取不相邻的多个点（两两进行组合）， (0,0),(2,1) 代表两个点

print('====================数值的修改=========================')
'''
    其实就是取到之后重新赋值
'''
# 根据布尔的结果 赋值
t1[t1<2] = 10  # 将数组中所有小于2的元素重新赋值为10
print(t1)