Python数据分析系列之Numpy——ndarray1

根据我的个人经验(直觉),一篇文章太长是不容易接受的,故我所有的分享都是短篇。后面会整理出合集供需要的人享用。Numpy简介Numpy ~ Numeric Python,其实就是Python一个专门处理数据的开发包,为什么要用它呢?主要有两个理由:

省事

省时

怎么说呢?首先,省事,Numpy中集成了很多数据处理的运算规则,比如矩阵点乘,转置等,这些是原生Python(Pure Python)所不具有的。其次,省时,Numpy由C语言写成,提供了这种类似于的多维向量化数组,进行向量化运算速度比利用原生Python进行循环运算要快得多;同时,Numpy提供了更多的数据类型。从数组谈起首先,如何定义一个数组呢?比如说Python中一个简单一维数组

lst= [1,2,3,4]在Numpy中如何定义?如下,用函数

importnumpyasnp

lst=np.array([1,2,3,4])注意一定要先导入包,不然都是白搭。至于为什么要导入成np,这就是习惯吧,大家都这么写。除了这种定义的方式之外,还可以定义一些特殊的数组,如值全为0或全为1的数组

# 生成5个0的一维数组

zero_lst=np.zeros(5)

# 生成5个1的一维数组

one_lst=np.ones(5)

# 生成5个位置的空数组

empty_lst=np.empty(5)当你尝试输出,会以随机数字填充这5个位置

In[12]:empty_lst

Out[12]:array([1.,1.,1.,1.,1.])当然更多情况下,我们不可能只用一维数组就可以解决问题,那么问题来了,二维及多维如何定义?

# pure python

lst= [[1,2,3,4],

[5,6,7,8]]

# numpy

lst=np.array([[1,2,3,4],

[5,6,7,8]])写到这里,你应该也已经发现了,只要把原生Python的数组搬到这个函数的括号里来就行了!那么同样的,可以定义特殊数组:

# 生成4x2的全为0的二维数组

zero_lst=np.zeros((4,2))

# 生成4x2的全为1的二维数组

one_lst=np.ones((4,2))

# 生成4x2的空数组

empty_lst=np.empty((4,2))查看空数组的内容:

In[13]:empty_lst

Out[13]:array([[6.09035710e-316,6.09046777e-316],

[6.49320479e-316,6.14890269e-316],

[6.49629329e-316,6.49640949e-316],

[6.49641503e-316,6.48382070e-316]])目前似乎还没发现Numpy有什么神奇之处哈,不用急,下期就可以看到了。你知道有啥区别吗?下期详解。个人网站(有彩蛋):http://netforyou.xyz

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180426G1Y6Y900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券