【numpy】方便功能

import numpy as np

#pad填充
# Z = np.ones((5,5))
# Z = np.pad(Z, pad_width=1, mode='constant', constant_values=0)
# print(Z)


#NaN与None
# print('0 * np.nan = ',0*np.nan)  #nan
# print('np.nan == np.nan ',np.nan == np.nan) #False
# print('np.inf > np.nan ',np.inf > np.nan)  #False
# print('np.inf - np.nan ',np.inf - np.nan)  #False
# print('0.3 == 3*0.1',0.3 == 3*0.1)  #False
#why ---------------------------????


#diag对角线
#np.arange(4)是0,1,2,3
# + 1 就是1,2,3,4
#diag(a,b)参数
# z = np.arange(4) #一维
# z = np.zeros((4,2)) #二维
# z = np.diag(1 + np.arange(4), k = 0) # n*n数组,且对角线可设定
# z = np.diag(1 + np.arange(4), k = -1) # n*n数组,且对角线可设定
# print(z)

# Z = np.zeros((8,8),dtype=int)
# Z[1::2,::2] = 2 
# #写全了看就是Z[1::2,0::2] = 1 奇数行从第1行开始,以2递增,偶数列
# Z[::2,1::2] = 1  
# #写全了看就是Z[0::2,1::2] = 1 偶数行从第0行开始,以2递增,奇数列
# print(Z)

#处理时间方面
#datetime64 获取时间 ,两个datatime相减可以得到一个timedelta64,参数表示
#timedelta64 是时间差,参数表示差为1,‘D'表示天
# yesterday = np.datetime64('today','M') - np.timedelta64(1,'M')
# today = np.datetime64('today','D')
# tomorrow = np.datetime64('today','D') + np.timedelta64(1,'D')
# print(str(yesterday))  # 2018-04
# print(str(today))  #2018-05-26


# 得到所有与月份对应的日期,就是相当于封装好了
# z = np.arange('2018-02','2018-03',dtype='datetime64[D]')
# print(z)


# 创建一个5×5的矩阵,其中每行的数值范围从0到4
# z = np.zeros((5,5))
# z += np.arange(5)
# print(z)

# 数组转矩阵
# z = np.array([[1,0,1],[0,1,0],[1,0,0]],dtype=np.int)
# print(z,'------数组')
# zmat1 = np.mat(z)
# print(zmat1,'-------转化为矩阵')
# zmat2 = zmat1.I
# print(zmat2,'-------矩阵的逆')
# zmat3 = np.dot(zmat1,zmat2)
# print(zmat3,'------乘积判断是否满足逆')


# 笛卡尔转为极坐标
# z = np.random.random((10,2))
# print(z)
# x,y = z[:,0],z[:,1]
# R = np.sqrt(x**2+y**2)
# T = np.arctan2(y,x)
# print(R)
# print(T)

# # 换最大的数字为1,不必循环了
# Z = np.array([1,6,3,8,10],dtype=np.int)
# Z[Z.argmax()] = 1
# print (Z)


# # 给定标量时,如何找到数组中最接近标量的值
# Z = np.arange(100)
# # v = np.random.uniform(0,100)  # 在一个均匀分布中随机采样,即v是0~100中随机的数字
# v = 85.5
# index = (np.abs(Z-v)).argmin() # 在数组中找到距离v最近的数字
# print(Z[index])  #返回85

#从数组中找到给定值最近的值
# Z = np.array([[1,2,3],[7,8,9],[4,5,6],[10,17,11]])
# z = 1000
# x = np.abs(Z - z).argmin()
# print(x) # 返回的是数组转为一维的序号,17的序号是10,1的序号是0
# m = Z.flat[x] # 定位不同
# print (m)  # 17


# # 构建一个位置,颜色的结构化数组
# Z = np.zeros(10, [ ('position', [ ('x', float, 1),
#                                   ('y', float, 1)]),
#                    ('color',    [ ('r', float, 1),
#                                   ('g', float, 1),
#                                   ('b', float, 1)])])
# print (Z)


# # 局部排序,按照列排序,然后整体也跟着排序了
# z = np.array([[1,2,3],[7,8,9],[4,5,6],[10,17,11]])
# print(z)
# # [[ 1  2  3]
# #  [ 7  8  9]
# #  [ 4  5  6]
# #  [10 17 11]]
# print(z[z[:,1].argsort()])
# # [[ 1  2  3]
# #  [ 4  5  6]
# #  [ 7  8  9]
# #  [10 17 11]]

#---------------------------------62-----------------------------
# ---------https://www.kesci.com/apps/home/project/5b05624a57e80961e67e7d75






# # 读取文件失败,StringIO 安装失败
# from StringIO import StringIO
# filename = 'G:/Test/5-25/data.txt'
# data = np.genfromtxt(filename,delimiter = ',',skip_header=1,dtype=None)
# print(data)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值