Numpy:常用函数

1.写入文件可以使用numpy.savetxt(‘filename’,array)可以把数组写入到文件filename中。使用numpy.loadtxt(‘filename’,delimiter=’,or something’,usecls=sequence,unpack=True/False)读取文件。这两个函数也能对大部分数据存储使用的csv格式文件进行操作。

2.使用numpy.average(arrayone,weights=arraytwo)可以arrayone在arraytwo加权上的均值。numpy.mean(array)直接求array的均值。比如可以求成交量加权价格,时间加权价格等。

>>> c,v=numpy.loadtxt('apple.csv', delimiter=',', unpack=True)
>>> c
array([ 344.17,  345.17,  346.17,  347.17,  348.17,  349.17,  350.17,
        351.17,  352.17])
>>> v
array([ 344.4,  345.4,  346.4,  347.4,  348.4,  349.4,  350.4,  351.4,
        352.4])
>>> k=numpy.average(c,weights=v)
>>> k
348.18913509376193

3.使用numpy.max(array)和numpy.min(array)分别可求array的最大值和最小值。而numpy.ptp(array)是求array的极差,也就是最大和最小值的差。numpy.median(array)计算array排序后的中位数。numpy.var(array)计算array的方差,而numpy.std(array)计算array的标准差。(注意样本方差和总体方差的计算区别,总体方差是用总体个数去除离差平方和,而样本使用样本个数减1去除离差平方和,其中样本个数减1(即n-1)称为自由度。样本方差如此计算是为了保证样本方差是一个无偏估计量。而这些区别在numpy中具体有没有体现,还得摸索)。ndarray中array.mean()也可以直接计算array均值。

>>> c
array([ 1.,  1.,  1.,  5.,  1.,  1.])
>>> v
array([ 1.,  1.,  1.,  5.,  1.,  1.])
>>> numpy.max(c)
5.0
>>> numpy.max(v)
5.0
>>> numpy.min(v)
1.0
>>> numpy.ptp(c)
4.0
>>> c
array([ 1.,  1.,  1.,  5.,  1.,  1.])
>>> numpy.median(c)
1.0
>>> numpy.var(c)
2.2222222222222219
>>> numpy.var(c)==numpy.mean((c-c.mean())**2)##验证var()
True

4.可以使用numpy.diff(array)计算array中相邻的两个元素的差值。使用numpy.log(array)计算array中每个元素的对数值。numpy是面向浮点型数值运算的。注意numpy.loadtxt()中的converters参数的使用。numpy.where(array>num)可以提取出array元素中大于num值的下标数组。numpy.take(array,arrayindexs)可以提取出array数组中arrayindexs下标的值。numpy.argmax(array)返回array中最大值的下标,而numpy.argmin(array)返回array中最小值的小标。numpy.apply_along_axis()函数的使用要着重探讨。考察numpy.apply_along_axis()的性能提升。

>>> v
array([ 1.,  1.,  1.,  5.,  1.,  1.])
>>> numpy.diff(v)
array([ 0.,  0.,  4., -4.,  0.])
>>> numpy.diff(v)/v[:-1]
array([ 0. ,  0. ,  4. , -0.8,  0. ])
>>> def datestr2num(s):##定义日期转换函数,日期转换为数字
    return datetime.datetime.strptime(s,'%Y/%m/%d').date().weekday()

>>> dates,price=numpy.loadtxt('apple.csv',delimiter=',',usecols=(2,0),unpack=True,converters={
  2:datestr2num})
>>> dates
array([ 3.,  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值