数据分析(一)--numpy入门

本文介绍了数据分析基础工具NumPy,详细讲解了如何从Python列表创建数组、数组的基本操作,包括属性、索引、切分、变形以及拼接和分裂。重点阐述了数组的创建、属性、索引方式以及在多维数据中的应用。
摘要由CSDN通过智能技术生成

Numpy入门

写在开始前,本系列将使用jupyter notebook作为工具,如果你是windows系统,为了方便请下载Anaconda3-5.1.0-Windows-x86_64,这集成了所有你可以用到或者用不到的各种工具。如果你是mac或者linux系统,可以下载Anaconda3-5.1.0的对应版本。

在计算机中,可以将图像(尤其是数字图像)简单地看作二维数字数组,这些数字数组代表各区域的像素值;声音片段可以看作时间和强度的一维数组;文本也可以通过各种方式转换成数值表示,一种可能的转换是用二进制数表示特定单词或单词对出现的频率。

不管数据是何种形式,第一步都是将这些数据转换成数值数组形式的可分析数据,正因如此,有效地存储和操作数值数组是数据科学中绝对的基础过程。 Python中专门用来处理这些数值数组的工具: NumPy 包和 Pandas 包,首先来介绍NumPy包。

一、NumPy数组

Python 中的数据操作几乎等同于 NumPy 数组操作,甚至新出现的 Pandas 工具也是构建在 NumPy 数组的基础之上的,因此这是最重要的也是要理解的。

1.1 从Python列表创建数组

首先,可以用 np.array 从 Python 列表创建数组:不同于 Python 列表, NumPy 要求数组必须包含同一类型的数据。如果类型不匹配, NumPy 将会向上转换(如果可行),优先级:str>float>int 。

In[1]:  import numpy as np

In[2]:  # 整型数组:
        np.array([1, 4, 2, 5, 3])

Out[2]: array([1, 4, 2, 5, 3])

如果希望明确设置数组的数据类型,可以用 dtype 关键字:

In[3]:  np.array([1, 2, 3, 4], dtype='float32')

Out[3]: array([ 1., 2., 3., 4.], dtype=float32)

最后,不同于 Python 列表, NumPy 数组可以被指定为多维的。以下是用列表的列表初始化多维数组的一种方法:

In[11]: # 嵌套列表构成的多维数组
        np.array([range(i, i + 3) for i in [2, 4, 6]])

Out[11]: array([[2, 3, 4],[4, 5, 6],[6, 7, 8]]

内层的列表被当作二维数组的行。

1.2 从头创建数组

面对大型数组的时候,用 NumPy 内置的方法从头创建数组是一种更高效的方法。以下是几个示例:

In[12]: # 创建一个长度为10的数组,数组的值都是0
        np.zeros(10, dtype=int)
Out[12]: array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

In[13]: # 创建一个3×5的浮点型数组,数组的值都是1
        np.ones((3, 5), dtype=float)
Out[13]: array([[ 1., 1., 1., 1., 1.],[ 1., 1., 1., 1., 1.],[ 1., 1., 1., 1., 1.]])

In[14]: # 创建一个3×5的浮点型数组,数组的值都是3.14
        np.full((3, 5), 3.14)
Out[14]: array([[ 3.14, 3.14, 3.14, 3.14, 3.14],[ 3.14, 3.14, 3.14, 3.14, 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值