📜  Python | 数据分析的数学运算(1)

📅  最后修改于: 2023-12-03 15:19:02.950000             🧑  作者: Mango

Python | 数据分析的数学运算

数据分析的数学运算是数据科学家和分析师需要掌握的关键技能之一。Python 拥有良好的数学库和工具,使得数学运算能够得以轻松实现。本文将讨论一些 Python 的数学库和工具,以及如何在数据分析中应用它们。

numpy

numpy 是 Python 中最基本的数学库之一,它提供了一些基本数据结构和函数。其中最重要的结构是 ndarray,它是用于存储多维数组的容器。以下是 numpy 的一些常用函数:

数组创建
>>> import numpy as np
>>> a = np.array([1, 2, 3])  # 一维数组
>>> b = np.array([[1, 2], [3, 4]])  # 二维数组
>>> c = np.zeros((2, 3))  # 生成 2x3 的零矩阵
>>> d = np.random.randint(0, 10, (2, 3))  # 生成 2x3 的随机矩阵
>>> e = np.arange(10)  # 生成 0 到 9 的序列
数组运算
>>> a + b  # 数组加法
array([[2, 4],
       [4, 6]])
>>> a - b  # 数组减法
array([[0, 0],
       [0, 0]])
>>> a * b  # 数组乘法(需要注意数组维度)
array([[1, 4],
       [9, 12]])
>>> a.dot(b)  # 数组点乘
array([ 7, 10])
>>> np.sin(a)  # 数组三角函数
array([0.84147098, 0.90929743, 0.14112001])
pandas

pandas 是在 numpy 的基础上构建的,它提供了更高级的数据结构和函数。其中最常使用的是 DataFrame,它是一个类似于电子表格的数据结构,用于存储同质或异质的数据。以下是 pandas 的一些常用函数:

数据导入和导出
>>> import pandas as pd
>>> df = pd.read_csv('data.csv')  # 从 CSV 文件中导入数据
>>> df.head()  # 查看前五行数据
   id  name  age
0   1   Tom   18
1   2  Mary   20
2   3   Ken   22
>>> df.to_excel('data.xlsx', index=False)  # 导出数据到 Excel 文件
数据选择和过滤
>>> df['age']  # 选择单列数据
0    18
1    20
2    22
Name: age, dtype: int64
>>> df[['name', 'age']]  # 选择多列数据
   name  age
0   Tom   18
1  Mary   20
2   Ken   22
>>> df[df['age'] > 20]  # 条件过滤
   id name  age
2   3  Ken   22
数据汇总和统计
>>> df.describe()  # 描述性统计
         id      age
count  3.000  3.00000
mean   2.000  20.00000
std    1.000   2.64575
min    1.000  18.00000
25%    1.500  19.00000
50%    2.000  20.00000
75%    2.500  21.00000
max    3.000  22.00000
>>> df.groupby('name')['id'].count()  # 分组统计
name
Ken     1
Mary    1
Tom     1
Name: id, dtype: int64
matplotlib

matplotlib 是 Python 中最常用的绘图库之一,它提供各种绘图类型和导出格式。以下是 matplotlib 的一些常用函数:

折线图
>>> import matplotlib.pyplot as plt
>>> x = np.arange(0, 10, 0.1)
>>> y = np.sin(x)
>>> plt.plot(x, y)
>>> plt.title('Sine Wave')
>>> plt.xlabel('X')
>>> plt.ylabel('Y')
>>> plt.savefig('sine_wave.png')

Sine Wave

散点图
>>> x = np.random.randn(100)
>>> y = np.random.randn(100)
>>> plt.scatter(x, y)
>>> plt.title('Scatter Plot')
>>> plt.xlabel('X')
>>> plt.ylabel('Y')
>>> plt.savefig('scatter_plot.png')

Scatter Plot

总结

Python 拥有很多用于数据分析的数学库和工具,其中最常用的是 numpypandasmatplotlib。通过掌握这些工具,可以轻松地进行数据分析和可视化。