【30天玩转python】使用第三方库(如 NumPy、Pandas)

使用第三方库(如 NumPy、Pandas)

Python 的强大之处在于其广泛的第三方库生态,特别是在科学计算、数据分析等领域。NumPyPandas 是 Python 最常用的两个库,分别用于数值计算和数据处理。学习和掌握这些库将极大地提升你的编程效率和解决问题的能力。


1. NumPy 简介

NumPy 是 Python 的科学计算基础库,提供了支持高效多维数组和矩阵运算的功能。它是许多其他科学计算库(如 Pandas、SciPy 等)的基础。

1.1 安装 NumPy

在使用 NumPy 之前,需要先安装它。可以使用 pip 命令进行安装:

bash 复制代码
pip install numpy
1.2 NumPy 的主要功能
  • 多维数组对象(ndarray):提供高效的数组运算。
  • 广播机制:支持对不同形状数组进行运算。
  • 线性代数:提供矩阵、向量和线性代数操作。
  • 随机数生成:用于生成随机数或随机分布的数据。
1.3 创建 NumPy 数组

NumPy 的核心是 ndarray,它是一个多维数组对象。可以通过不同的方式创建数组。

示例:创建 NumPy 数组

python 复制代码
import numpy as np

# 创建一维数组
array_1d = np.array([1, 2, 3, 4, 5])

# 创建二维数组
array_2d = np.array([[1, 2, 3], [4, 5, 6]])

# 创建全零数组
zeros_array = np.zeros((3, 3))

# 创建全一数组
ones_array = np.ones((2, 4))

# 创建指定范围的数组
range_array = np.arange(0, 10, 2)

print(array_1d)
print(array_2d)
print(zeros_array)
print(ones_array)
print(range_array)
1.4 数组运算

NumPy 的强大之处在于能够对数组执行矢量化运算,无需显式地写循环。这使得代码简洁且执行效率高。

示例:数组加法与矩阵乘法

python 复制代码
import numpy as np

# 数组加法
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = a + b  # [5, 7, 9]

# 矩阵乘法
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])
result = np.dot(matrix1, matrix2)  # 矩阵乘法

print(c)
print(result)
1.5 数学函数

NumPy 提供了丰富的数学函数,用于数组的元素级别操作。

示例:应用数学函数

python 复制代码
import numpy as np

a = np.array([1, 4, 9, 16])

# 计算平方根
sqrt_a = np.sqrt(a)

# 计算正弦值
sin_a = np.sin(a)

# 计算平均值
mean_a = np.mean(a)

print(sqrt_a)
print(sin_a)
print(mean_a)

2. Pandas 简介

Pandas 是一个强大的数据分析库,它提供了方便的数据结构(如 DataFrame)来高效地处理和分析数据,尤其适用于结构化数据。

2.1 安装 Pandas

同样,使用 pip 安装 Pandas:

bash 复制代码
pip install pandas
2.2 Pandas 的主要功能
  • Series:一维数据结构,类似于列表或一维数组。
  • DataFrame:二维数据结构,类似于 Excel 表格或 SQL 数据表。
  • 数据读写:支持读取 CSV、Excel、SQL 数据库等格式的数据。
2.3 创建 Pandas 数据结构

Pandas 的两种主要数据结构是 SeriesDataFrameSeries 是一维数组,DataFrame 是二维表格。

示例:创建 Series 和 DataFrame

python 复制代码
import pandas as pd

# 创建 Series
data_series = pd.Series([10, 20, 30, 40])

# 创建 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'City': ['New York', 'San Francisco', 'Chicago']}
data_frame = pd.DataFrame(data)

print(data_series)
print(data_frame)
2.4 数据读取与写入

Pandas 提供了简单的接口来读取和写入各种格式的数据,如 CSV、Excel、SQL 数据库等。

示例:读取 CSV 文件

python 复制代码
import pandas as pd

# 从 CSV 文件中读取数据
data_frame = pd.read_csv('data.csv')

# 显示前几行数据
print(data_frame.head())

# 写入数据到 CSV 文件
data_frame.to_csv('output.csv', index=False)
2.5 数据处理与操作

Pandas 提供了丰富的数据操作方法,包括筛选、排序、缺失值处理等。

示例:数据筛选与操作

python 复制代码
import pandas as pd

# 创建 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
        'Age': [25, 30, 35, 40],
        'Salary': [70000, 80000, 120000, 130000]}
data_frame = pd.DataFrame(data)

# 筛选年龄大于30的数据
filtered_data = data_frame[data_frame['Age'] > 30]

# 添加新列
data_frame['Bonus'] = data_frame['Salary'] * 0.1

# 缺失值处理
data_frame.fillna(0, inplace=True)

print(filtered_data)
print(data_frame)

3. NumPy 与 Pandas 的结合

NumPyPandas 常常结合使用,PandasDataFrame 数据结构内部就是基于 NumPy 的多维数组进行高效存储和操作的。

示例:将 NumPy 数组转为 Pandas DataFrame

python 复制代码
import numpy as np
import pandas as pd

# 创建 NumPy 数组
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 将 NumPy 数组转为 DataFrame
data_frame = pd.DataFrame(array, columns=['A', 'B', 'C'])

print(data_frame)

4. 小结

  • NumPy 是科学计算和数值处理的基础库,擅长多维数组和矩阵运算。
  • Pandas 是数据分析的强大工具,能够高效处理结构化数据。
  • 结合使用 NumPyPandas 可以实现数据的高效处理与分析,大大提升开发效率。

通过学习和掌握 NumPyPandas,你可以更轻松地应对数据分析和科学计算任务。

相关推荐
CodeClimb6 分钟前
【华为OD-E卷-寻找关键钥匙 100分(python、java、c++、js、c)】
java·python·华为od
CodeClimb7 分钟前
【华为OD-E卷-通信误码 100分(python、java、c++、js、c)】
java·python·华为od
一念之坤17 分钟前
14篇--模板匹配
图像处理·python·opencv·计算机视觉
CodeClimb30 分钟前
【华为OD-E卷-最多提取子串数目 100分(python、java、c++、js、c)】
java·python·华为od
CodeClimb33 分钟前
【华为OD-E卷-箱子之字形摆放 100分(python、java、c++、js、c)】
java·python·华为od
hakesashou36 分钟前
jmeter怎么调用python
开发语言·python·jmeter
utmhikari1 小时前
【日常随笔】Enigma密码机的原理及python代码实现
python·算法·设计模式
人类群星闪耀时1 小时前
使用Python实现量子通信模拟:探索安全通信的未来
python·安全·量子计算
人类群星闪耀时1 小时前
使用Python实现量子计算算法开发:探索计算的未来
python·算法·量子计算
AI原吾2 小时前
掌握数据安全,从hashlib库开始
python·hashlib