Python数据分析基础:pip与NumPy库全方位介绍 – wiki基地


Python数据分析基础:pip与NumPy库全方位介绍

在当今的数据驱动时代,Python 已成为数据分析领域的首选语言。其强大的生态系统离不开两个基石:包管理工具 pip 和 科学计算库 NumPy。本文将深入浅出地介绍这两个工具,带你开启 Python 数据分析之旅。

第一部分:pip —— Python 的包管理利器

1. 什么是 pip?

pip (Pip Installs Packages) 是 Python 官方推荐的第三方库包管理工具。就像手机的应用商店一样,pip 允许你从 Python Package Index (PyPI) 下载、安装、升级和卸载各种 Python 库。

对于数据分析师来说,pip 是获取 NumPyPandasMatplotlib 等强大工具的必经之路。

2. pip 的常用命令

在命令行(Windows 的 CMD/PowerShell 或 macOS/Linux 的 Terminal)中,你可以使用以下命令:

  • 安装包
    bash
    pip install package_name

    例如,安装 NumPy:pip install numpy

  • 指定版本安装
    bash
    pip install package_name==1.0.0

  • 升级包
    bash
    pip install --upgrade package_name

  • 卸载包
    bash
    pip uninstall package_name

  • 查看已安装的包
    bash
    pip list

  • 导出当前环境的所有包依赖(常用):
    bash
    pip freeze > requirements.txt

    这会将当前环境中安装的所有库及其版本号保存到 requirements.txt 文件中,方便在其他机器上复现环境。

  • 从文件安装依赖
    bash
    pip install -r requirements.txt

3. 更换 pip 镜像源(加速下载)

在国内,直接访问 PyPI 官方源有时速度较慢。建议使用国内镜像源(如清华源、阿里云源等)。

  • 临时使用
    bash
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

  • 永久配置
    bash
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple


第二部分:NumPy —— Python 科学计算的核心

1. 什么是 NumPy?

NumPy (Numerical Python) 是 Python 科学计算的基础库。它提供了一个核心对象:多维数组对象 (ndarray),以及一系列用于处理数组的函数。

为什么需要 NumPy?
虽然 Python 列表 (List) 也可以存储数据,但 NumPy 数组在处理大量数值数据时具有显著优势:
* 速度快:NumPy 底层使用 C 语言编写,并在内存中连续存储数据,计算效率远高于纯 Python 列表。
* 功能强:提供了丰富的线性代数、傅里叶变换和随机数生成功能。
* 广播机制:简化了不同形状数组之间的数学运算。

2. 安装 NumPy

使用前面学到的 pip 命令:

bash
pip install numpy

3. NumPy 基础操作

3.1 导入 NumPy

按照惯例,我们通常将其重命名为 np

python
import numpy as np

3.2 创建数组 (ndarray)

  • 从列表创建
    python
    arr = np.array([1, 2, 3, 4, 5])
    print(arr)
    # 输出: [1 2 3 4 5]

  • 创建多维数组
    python
    matrix = np.array([[1, 2, 3], [4, 5, 6]])
    print(matrix)
    # 输出:
    # [[1 2 3]
    # [4 5 6]]

  • 使用内置函数创建
    python
    zeros = np.zeros(5) # 全 0 数组
    ones = np.ones((2, 3)) # 2行3列的全 1 数组
    range_arr = np.arange(10) # 0 到 9 的数组 (类似 range)

3.3 数组的基本属性

了解数组的结构非常重要:

“`python
arr = np.array([[1, 2, 3], [4, 5, 6]])

print(arr.ndim) # 维度个数 (这里是 2)
print(arr.shape) # 数组形状 (这里是 (2, 3),表示2行3列)
print(arr.size) # 元素总数 (这里是 6)
print(arr.dtype) # 元素类型 (例如 int32, float64)
“`

3.4 数组运算与广播

NumPy 允许你像操作单个数字一样操作整个数组:

“`python
a = np.array([1, 2, 3])
b = np.array([10, 20, 30])

元素级加法

print(a + b) # 输出: [11 22 33]

标量运算

print(a * 2) # 输出: [2 4 6]

广播 (Broadcasting)

允许不同形状的数组进行运算

matrix = np.array([[1, 2, 3], [4, 5, 6]])

将 matrix 的每一行都加上 a

print(matrix + a)

输出:

[[ 2 4 6]

[14 25 36]]

“`

3.5 索引与切片

操作方式类似 Python 列表,但功能更强大:

“`python
data = np.array([0, 10, 20, 30, 40, 50])

基本切片

print(data[1:4]) # 输出: [10 20 30]

多维数组索引

matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(matrix[0, 2]) # 第0行,第2列的元素 -> 3
print(matrix[:2, 1:]) # 前两行,从第1列及之后的所有列

输出:

[[2 3]

[5 6]]

“`

结语

掌握 pip 让你能够轻松获取 Python 强大的第三方库资源,而熟练使用 NumPy 则是进行高效数据处理和科学计算的前提。希望这篇文章能为你进入数据分析的世界打下坚实的基础。接下来,你可以继续探索建立在 NumPy 之上的 Pandas 库,它将为你带来更强大的数据表格处理能力。

滚动至顶部