十七.NumPy和Pandas

目录

1. NumPy简介和安装

安装NumPy

导入NumPy

2. NumPy的核心功能

2.1 创建NumPy数组

2.2 数组索引和切片

2.3 数组运算和函数

3. Pandas简介和安装

安装Pandas

导入Pandas

4. Pandas的核心数据结构

4.1 Series

4.2 DataFrame

5. Pandas的数据操作

5.1 数据读取和写入

5.2 数据清洗和处理

5.3 数据分析和统计

总结


1. NumPy简介和安装

NumPy是Python中最常用的数值计算库之一,提供了高效的数组操作和数值计算功能。它是许多其他科学计算库的基础。在学习和使用NumPy之前,我们首先需要安装它。

安装NumPy

可以使用以下命令来安装NumPy:

pip install numpy

导入NumPy

在使用NumPy之前,我们需要导入它:

import numpy as np

2. NumPy的核心功能

2.1 创建NumPy数组

NumPy数组是一种多维数组对象,可以存储相同类型的数据。以下是创建NumPy数组的几种常见方法:

  • 使用array函数从Python列表创建数组:

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

  • 使用zeros函数创建全零数组:

    zeros_arr = np.zeros((3, 3))

  • 使用ones函数创建全一数组:

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

  • 使用arange函数创建等差数组:

    range_arr = np.arange(0, 10, 2)

2.2 数组索引和切片

NumPy数组可以通过索引和切片来访问和操作数据:

  • 使用整数索引获取数组中的元素:

    arr = np.array([1, 2, 3, 4, 5])
    print(arr[0])  # 输出:1

  • 使用切片获取数组的子集:

    arr = np.array([1, 2, 3, 4, 5])
    print(arr[1:4])  # 输出:[2, 3, 4]

  • 对多维数组进行索引和切片操作:

    arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    print(arr[1, 2])  # 输出:6
    print(arr[:, 1:3])  # 输出:[[2, 3], [5, 6], [8, 9]]

2.3 数组运算和函数

NumPy提供了丰富的数学函数和运算符,用于对数组进行数值计算:

  • 数组运算符:可以使用加减乘除等运算符对数组进行逐元素的运算。

    arr1 = np.array([1, 2, 3])
    arr2 = np.array([4, 5, 6])
    print(arr1 + arr2)  # 输出:[5, 7, 9]

  • 数组函数:NumPy提供了许多数学函数,如求和、平均值、标准差等。

    arr = np.array([1, 2, 3, 4, 5])
    print(np.sum(arr))  # 输出:15
    print(np.mean(arr))  # 输出:3.0
    print(np.std(arr))  # 输出:1.4142135623730951

3. Pandas简介和安装

Pandas是一个强大的数据处理和分析工具,提供了高效的数据结构和数据操作功能。它可以用于处理和分析各种类型的数据,如表格数据、时间序列数据等。在学习和使用Pandas之前,我们需要先安装它。

安装Pandas

可以使用以下命令来安装Pandas:

pip install pandas

导入Pandas

在使用Pandas之前,我们需要导入它:

import pandas as pd

4. Pandas的核心数据结构

Pandas提供了两种主要的数据结构:Series和DataFrame。

4.1 Series

Series是一维标签化的数组,类似于带标签的列表。它可以包含任何数据类型。

  • 创建Series:

    s = pd.Series([1, 3, 5, np.nan, 6, 8])

  • 获取Series的值:

    print(s.values)

  • 获取Series的索引:

    print(s.index)

4.2 DataFrame

DataFrame是一个二维表格数据结构,类似于Excel或SQL中的表。它由多个Series组成,每个Series代表一列数据。

  • 创建DataFrame:

    data = {'name': ['Alice', 'Bob', 'Charlie'],
            'age': [25, 30, 35],
            'city': ['New York', 'London', 'Paris']}
    df = pd.DataFrame(data)

  • 获取DataFrame的列:

    print(df['name'])

  • 获取DataFrame的行:

    print(df.loc[0])

5. Pandas的数据操作

5.1 数据读取和写入

Pandas支持读取和写入各种数据格式,如CSV、Excel、SQL数据库等。

  • 读取CSV文件:

    df = pd.read_csv('data.csv')

  • 写入CSV文件:

    df.to_csv('output.csv', index=False)

5.2 数据清洗和处理

Pandas提供了丰富的函数和方法用于数据清洗和处理。

  • 处理缺失值:

    df.dropna()  # 删除含有缺失值的行
    df.fillna(value)  # 将缺失值填充为指定值

  • 数据过滤和筛选:

    df[df['age'] > 30]  # 筛选年龄大于30的行

  • 数据排序:

    df.sort_values(by='age', ascending=False)  # 按年龄降序排序

5.3 数据分析和统计

Pandas提供了许多数据分析和统计函数,用于快速分析数据。

  • 汇总统计:

    df.describe()  # 获取数据的基本统计信息

  • 分组计算:

    df.groupby('city').mean()  # 按城市分组计算平均值

总结

本教程介绍了学习和使用Python的NumPy和Pandas库。通过学习NumPy,你将能够高效地进行数值计算和数组操作。而Pandas则提供了强大的数据处理和分析功能,使你能够轻松处理和分析各种类型的数据。

在使用这两个库时,记得先安装它们,并通过import语句导入相应的模块。可以通过以下链接下载和安装NumPy和Pandas:

通过不断练习和实践,你将掌握NumPy和Pandas的核心概念和技巧,能够灵活地处理和分析数据。祝你在Python数据分析的学习中取得成功!

参考资料:

  1. NumPy官方文档:NumPy Documentation
  2. Pandas官方文档:pandas documentation — pandas 2.0.2 documentation
NumPy(Numerical Python)是一个用于科学计算的Python库,提供了高性能的多维数组对象和各种数学函数。它是许多其他数据科学库的基础,常用于数据处理、数值计算、线性代数等任务。 以下是NumPy的一些常见用法示例: 1. 导入NumPy库: ```python import numpy as np ``` 2. 创建NumPy数组: ```python arr = np.array([1, 2, 3, 4, 5]) print(arr) # [1 2 3 4 5] ``` 3. 使用NumPy函数操作数组: ```python print(np.sum(arr)) # 计算数组元素的和 print(np.mean(arr)) # 计算数组元素的平均值 print(np.max(arr)) # 找出数组中的最大值 print(np.min(arr)) # 找出数组中的最小值 ``` Pandas是一个数据处理和分析工具的库,建立在NumPy之上,提供了更高级的数据结构和功能。它常用于数据清洗、数据转换、数据分析等任务。 以下是Pandas的一些常见用法示例: 1. 导入Pandas库: ```python import pandas as pd ``` 2. 创建Pandas Series: ```python s = pd.Series([1, 3, 5, np.nan, 6, 8]) print(s) ``` 3. 创建Pandas DataFrame: ```python data = {'Name': ['John', 'Emma', 'Mike'], 'Age': [25, 28, 30], 'City': ['New York', 'London', 'Paris']} df = pd.DataFrame(data) print(df) ``` 4. 对DataFrame进行操作: ```python print(df.head()) # 显示前几行数据 print(df.describe()) # 统计描述性统计信息 print(df['Age'].mean()) # 计算某一列的平均值 ``` 这些只是NumPyPandas库的一些基本用法,它们都有更丰富的功能和用法,你可以根据具体的需求进一步学习和应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真真million

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值