# -*- coding:utf-8 -*-
import numpy as np
t1 = np.arange(24).reshape(4, 6)
print(t1)
print("-" * 100)
# 获取二维表中记录,通用方法 [行,列]
# 取一行记录
print(t1[1, :]) # <class 'numpy.ndarray'>
# 取连续多行记录
print(t1[1:, :])
# 取不联系多行
print(t1[[0, 2], :])
print("*" * 50)
# 取第一列
print(t1[:, 0])
# 取连续多列
print(t1[:, 1:])
# 取不连续多列
print(t1[:, [0, 2]])
print("*" * 50)
# 取行列
print(t1[1, 1])
print(type(t1[1, 1])) # <class 'numpy.int32'>
# 多行多列
print(t1[[1, 3], 3:])
# 取多个不相邻的点
print(t1[[1, 3], [2, 4]]) # 注意:此处返回的是坐标(1,2)和(3,4)的数据
# nan是浮点类型 需要转换
t1 = t1.astype(np.float)
t1[3, 3] = np.nan
print(t1)
print("*" * 50)
print(t1 < 10)
# 将小于10的数字更新为0
print(t1[t1 < 10]) # 返回小于10的数组 [0 1 2 3 4 5 6 7 8 9]
t1[t1 < 10] = 0
print(t1)
print("*" * 50)
# numpy的三元运算符 小于10的替换成0,大等于10的替换成100
t1 = np.where(t1 < 10, 0, 100)
print(t1)
# 把小于10的替换成10,大于15的替换成了15
print(t1.clip(10, 15))