import numpy as np
#numpy的创建
# a=np.array((1,2,3,4,5,9))
# b=np.array(range(1,50))
# c=np.arange(1,6)
# d=np.array([1,0,0,1,0,0]).astype("i2")
# print(d)
# a=[1,2,5,6,8,9]
# b=[5,6,8,9,5,4]
# c=np.array([a,b])
# c.shape #数组形状
# c=c.reshape(3,4) #重新定义数组形状
# print(c)
#
# k=c.flatten() #转化为一维数组
# print(k)
#数组的计算
# a=np.array([[3,4,5,6,7,8],[4,5,6,7,8,9]]).astype("i1")
# y=np.arange(12).reshape(2,6)
# t=np.arange(6)
# a+=1 #加法
# a*=3 #乘法
# x=a+y #同维度的数组计算
# u=y*t
# print(u)
#轴的概念
# axis=0,表示行;axis=1 表示列;
#numpy数据读取
#np.loadtxt(fname,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)
# a=r"D:\学习\数据分析资料\数据分析资料\day03\code\youtube_video_data\GB_video_data_numbers.csv"
# b=r"D:\学习\数据分析资料\数据分析资料\day03\code\youtube_video_data\US_video_data_numbers.csv"
# gb_path=np.loadtxt(a,delimiter=",",dtype="i2")
# us_path=np.loadtxt(b,delimiter=",",dtype="i2")
# print(us_path)
# print(gb_path)
# numpy索引和切片
# a=np.arange(36).reshape(9,4)
# a[1] #取一行
# x_1=a[:,2] #取一列
# x_2=a[:2] #取多行
# x_3=a[[2,3,4]] #取不连续多行
# x_4=a[:,1:3]
# x_5=a[2:5,1:3] #取行列的交叉点位置
# b=np.where(a<22,0,66) #小于22的全部赋值0,其他赋值66
# print(b)
t=np.array([1,2,5,nan])
print(np.count_nonzero(t!=t))
# np.nan!=np.nan #Ture
#数组的函数
# 求和:t.sum(axis=None)
# 均值:t.mean(a,axis=None) 受离群点的影响较大
# 中值:np.median(t,axis=None)
# 最大值:t.max(axis=None)
# 最小值:t.min(axis=None)
# 极值:np.ptp(t,axis=None) 即最大值和最小值只差
# 标准差:t.std(axis=None)
# 数组的拼接
# np.vstack(a,b) #数组的拼接
# np.hstack(a,b)