python数据分析-NumPy (一)

本文介绍了Python数据分析库NumPy的基础知识,包括从Python列表创建数组、从头创建数组及其标准数据类型。强调了NumPy数组的效率优势,并通过示例展示了如何创建多维数组以及指定数据类型。
前言:

1.开发环境:Anaconda3-5.2.0,点击这里下载所有版本

2.语言:python

3.如果对jupyter notebook的快捷键不知道如何使用,点击这里

1. NumPy入门

1.1 python中的数据类型

首先要了解一点,python是动态语言,Java/c是静态语言。这两者最明显的地方就在于java/c需要明确声明变量类型,而python中类型是动态推断的,也就是说在python中任何类型的数据可以指定给任何变量:

a = 5
a = "one"

标准的python实现是用C语言编写的,所以每个python对象都是一个伪c语言结构体。比如说上面的a=5,这里的a其实是一个指针,指向一个 c语言的复合结构体,查看python源代码:

struct _longobject {
   
   
  long ob_refcnt;
  PyTypeObject *ob_type;
  size_t ob_size;
  long ob_digit[1];
};

也就是说python3.X中的一个整型实际上包括4个部分。

  • ob_refcnt是一个引用计数,帮python处理内存的分配和回收。
  • ob_type将变量的类型编码
  • ob_size指定接下来的数据成员的大小
  • ob_digit 包含python变量表示的实际整型值

python可以创建一个整值型列表、字符串列表、或异构的列表:

L1 = [0,1,2,3,4,5]
L2 = ['0','1','2','3','4','5']
L3 = [True,"1",2.0,3]

python这种灵活性相较静态语言来说很高,但是为了获得这些类型,列表中的每一项必须包含各自的类型信息、引用计数和其他信息,也就是说每一项都是一个完整的python对象。

如果一个列表中只存储同一种类型数据,那么很多信息都是多余的,因此可以使用固定类型的NumPy式数组可以更有效的存储和操作数据。

python3.3之后可以使用内置的数组模块创建统一类型的密集数组:

>>> import array
>>> L = list(range(10))
>>> A = array.array('i',L)
>>> A
array('i', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

这里的i是一个数据类型码,表示数据为整型。

1.2 从Python列表创建数组

更实用的则是NumPy包中的ndarray对象,python的数组对象提供了数组型数据的有效存储,而NumPy为该数据加上了高效的操作。

NumPy包标准别名是np,这里使用np.array从python列表创建数组:

In [1]: import numpy as np
#整型数组
In [2]: np.array([1,2,3,4,5])
Out[2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值