Python数据分析学习笔记2

2. Numpy数据存取和函数

2.1 数据的csv文件存取

CSV(Comma-Separated Value,逗号分隔值)是一种常见的文件格式,用来存储批量数据。

书写方式:np.savetxt(frame,array,fmt=’%.18e’,delimiter=None)

  • frame:文件、字符串或产生器,可以是.gz或.bz2的压缩文件。
  • array:存入文件的数组。
  • fmt:写入文件的格式,例如:%d %.2f %.18e。
  • delimiter:分割字符串,默认是任何空格。
  • dtype:数据类型,可选。
  • delimiter:分割字符串,默认是任何空格。
  • unpack:如果True,读入属性将分别写入不同变量。

范例:

savetxt()保存文件:

In [1]: import numpy as np

In [2]: a = np.arange(100).reshape(5,20) 

In [3]: np.savetxt('a.csv', a, fmt='%d', delimiter=',')

loadtxt()读取文件:

In [5]: b = np.loadtxt('a1.csv', delimiter=',')

In [6]: b
Out[6]: 
array([[  0.,   1.,   2.,   3.,   4.,   5.,   6.,   7.,   8.,   9.,  10.,
         11.,  12.,  13.,  14.,  15.,  16.,  17.,  18.,  19.],
       [ 20.,  21.,  22.,  23.,  24.,  25.,  26.,  27.,  28.,  29.,  30.,
         31.,  32.,  33.,  34.,  35.,  36.,  37.,  38.,  39.],
       [ 40.,  41.,  42.,  43.,  44.,  45.,  46.,  47.,  48.,  49.,  50.,
         51.,  52.,  53.,  54.,  55.,  56.,  57.,  58.,  59.],
       [ 60.,  61.,  62.,  63.,  64.,  65.,  66.,  67.,  68.,  69.,  70.,
         71.,  72.,  73.,  74.,  75.,  76.,  77.,  78.,  79.],
       [ 80.,  81.,  82.,  83.,  84.,  85.,  86.,  87.,  88.,  89.,  90.,
         91.,  92.,  93.,  94.,  95.,  96.,  97.,  98.,  99.]])

In [7]: b = np.loadtxt('a1.csv', dtype=np.int, delimiter=',')

In [8]: b
Out[8]: 
array([[ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
        17, 18, 19],
       [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
        37, 38, 39],
       [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
        57, 58, 59],
       [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
        77, 78, 79],
       [80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
        97, 98, 99]])
CSV文件的局限性

CSV只能有效存储一维和二维数组。np.savetxt()、np.loadtxt()只能有效存取一维和二维数组。

2.2 多维数组的存取:

a.tofile(frame, sep='', format='%s')

范例:

tofile()存储多维数据

  • frame:文件、字符串。
  • sep:数据分割字符串,如果是空串,写入文件为二进制。
  • format:写入数据的格式。
In [9]: a = np.arange(100).reshape(5,10,2)

In [10]: a.tofile('b.dat', sep=',', format='%d')

范例:

np.fromfile(frame, dtype=float, count=-1, sep='')

fromfile()函数读取多维数据

  • frame:文件、字符串。
  • dtype:读取的数据类型。
  • count:读取元素个数,-1表示读入整个文件。
  • sep:数据分割字符串,如果是空串,写入文件为二进制。

随机数函数直接看python上的几个例子

2.3 Numpy统计函数

  1. 直接提供的统计类函数:

np.*、 np.std()、np.var()、np.average()

  1. np.random的统计函数:


在这里插入图片描述
在这里插入图片描述
案例:

In [55]: b = np.arange(15,0,-1).reshape(3,5)

In [56]: b
Out[56]: 
array([[15, 14, 13, 12, 11],
       [10,  9,  8,  7,  6],
       [ 5,  4,  3,  2,  1]])

In [57]: np.max(b)
Out[57]: 15

In [58]: np.argmax(b)   # 扁平化后的下标
Out[58]: 0

In [59]: np.unravel_index(np.argmax(b), b.shape)    # 重塑成多维下标
Out[59]: (0, 0)

In [60]: np.ptp(b)
Out[60]: 14

In [61]: np.median(b)
Out[61]: 8.0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值