# -*- coding:utf-8 -*-
import numpy as np
# 和数字计算,广播计算(加,减,乘,除)
t1 = np.arange(5)
print(t1) # [0 1 2 3 4 ]
print(t1 + 1) # [ 1 2 3 4 5]
# print(t1 / 0) # [nan inf inf inf inf] nan=not a number ; inf=infinity无穷
print("*" * 50)
# 数组之间计算
t2 = np.arange(10, 15)
print("t2=", t2) # [10 11 12 13 14]
# 每一位相加
print("t2 + t1=", t2 + t1) # [10 12 14 16 18]
print("*" * 50)
# 二维数据和一维数组之间的运算
# t3为4行5列,t2为1行5列,列的维度相同
t3 = np.arange(20).reshape(4, 5)
print("t3=", t3)
print("t3 - t2=", t3 - t2) # 按列来计算
print(t2 - t3) # 注意:返回4行5列
print("*" * 50)
# 求平均值
print(np.mean(t3)) # 整体平均值
print(np.mean(t3, axis=0)) # 按列求平均
print(np.mean(t3, axis=1, dtype="float64")) # 按行求平均
# 求最大值/最小值
print(np.max(t3)) # 19
print(np.max(t3, axis=0)) # [15 16 17 18 19]
print(np.max(t3, axis=1)) # [ 4 9 14 19]
print(np.min(t3))
# 读取csv文件,默认按行读
t4 = np.loadtxt("test.csv", delimiter=",", dtype="int64")
print(t4)
# print(t4.shape)
# print(t4.reshape((4,3)))
print("*" * 50)
# 转置 01
t5 = np.loadtxt("test.csv", delimiter=",", dtype="int64", unpack=True)
print(t5)
print("*" * 50)
# 转置02
t6 = t4.transpose()
print(t6)
print(t4.T)
# 转置03 交换坐标轴
t7 = t4.swapaxes(1, 0)
print(t7)