学习笔记

1. numpy使用

基本用法

  • 使用astype()方法可以对数组的元素进行转换
    t1 = np.array([1,2,3,4], dtypt=np.float)
    t2=t1.astype(np.int32)
  • np.arrage(0, 1,0.1) 按0.1步长取0-1,其中不包括尾数1;
  • np.linspace(0,1,10) 取值区间0-1,其中10个数,包括尾数1,步长1/9;
  • np.linspace(0,1,10,endpoint=False) 不包括尾数,步长1/10;
  • logspace()linspace()类似,前者等比,后者等差;
    np.logspace(0,2,5) 取值区间100 - 102,个数为5,包括尾数;
  • ones(), zeros()创建指定形状和类型的数组;
  • np.full(4, np.pi) 创建一位数组,4个元素,都是3.14159265;
  • np.arange(10) 创建10个数字,从0-9;
  • 布尔列表,true为1,false为0
    x=np.random.randint(0,10,6) 产生6个随机整数数组
    x[x>5] 表示: x中每一个元素进行x>5的判断,判断后会返回TrueFalsex[bool]会返回表示为True的值;
  • a[None, :]a.reshape(-1,1)等效,a[:, None]a.reshape(-1,1)等效;
  • np.unique(a):去除a中重复的元素;
  • x=y if condition else z 等价于x=np.where(condition,y,z);
  • 当嵌套更多where时,可以用select(condition, choicelist, default=0)替换,如下例子:
def triangle_wavel(x, c, c0, hc):
    x = x - x.astype(np.int)
    return np.where(x >=c,
    		    0,
    		    np.where(x < c0,
    		    x/c0*hc,
    		    (c-x)/(c-c0)*hc))

可以更简单的写:

def triangle_wavel(x, c, c0, hc):
    x = x - x.astype(np.int)
    return np.select([x >= c, x < c0, True], # Ture 表示所有条件都不满足
    [0, x/c0*hc, (c-x)/(c-c0)*hc])
  • 多维数组拼接
a = np.arange(3) # array([0, 1, 2])
b = np.arange(10,13) # array([10, 11, 12])
np.vstack(a,b) # 沿第0轴拼接
array([[ 0,  1,  2],
       [10, 11, 12]])
       
np.hstack(a, b) # 沿第1轴拼接
array([ 0,  1,  2, 10, 11, 12])

np.colunm_stack((a,b)) # 与hstack类似,沿第1轴拼接
array([[ 0, 10],
       [ 1, 11],
       [ 2, 12]])

2. Pandas使用

基本用法

  • Series是pandas的基本对象,定义了Numpy的ndarray对象的接口,所以,可以用numpy的数据处理函数直接对Series对象进行处理;
  • 两个series相加减,会按照相应的index进行加减,无对应index的返回nan;
  • DataFrame是数据对象,是一个二维表格;
  • 字符串使用了object类型;
  • index行索引,columns列索引;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值