前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用NumPy和Pandas进行机器学习数据处理与分析

利用NumPy和Pandas进行机器学习数据处理与分析

原创
作者头像
小馒头学Python
修改2023-11-14 08:17:43
2350
修改2023-11-14 08:17:43
举报
文章被收录于专栏:小馒头学Python

🍀Numpy介绍

在进行科学计算和数据分析时,处理大量数据和进行高效的数值计算是不可或缺的。为了满足这些需求,Python语言提供了一个被广泛使用的库——Numpy。Numpy是Numerical Python的缩写,它为Python提供了功能强大的多维数组对象和一组用于处理这些数组的函数。

本文将介绍Numpy的基本语法,包括数组的创建、索引和切片、数学运算、广播和聚合等功能,以帮助读者快速上手和熟练使用Numpy进行数值计算。


🍀数组的创建

Numpy的核心对象是ndarray,它是一个多维数组对象。我们可以使用Numpy提供的函数创建数组,例如

代码语言:javascript
复制
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)

运行结果如下


🍀索引和切片

通过索引和切片操作,我们可以访问和修改数组中的元素。Numpy的索引从0开始,可以使用整数、切片或布尔数组作为索引,例如

代码语言:javascript
复制
print(arr[0])  # 输出第一个元素
print(arr[1:3])  # 输出第二个和第三个元素
print(arr[arr > 3])  # 使用布尔数组进行索引

运行结果如下


🍀数学运算

Numpy提供了丰富的数学函数和运算符,可以对数组进行各种数值计算。例如,可以对数组进行加减乘除、求幂、取余等运算

代码语言:javascript
复制
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b)  # 数组相加
print(a * 2)  # 数组乘以常数
print(np.sin(a))  # 三角函数运算

运行结果如下

🍀广播

Numpy的广播功能使得对不同形状的数组进行运算变得简单。当两个数组的形状不同时,Numpy会自动调整数组的形状,使它们能够进行元素级别的运算

代码语言:javascript
复制
a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([1, 2, 3])
print(a + b)  # 广播运算

运行结果如下

🍀聚合操作

Numpy提供了各种聚合函数,可以对数组的元素进行统计分析。例如,可以计算数组的和、平均值、最大值、最小值等

代码语言:javascript
复制
a = np.array([1, 2, 3, 4, 5])
print(np.sum(a))  # 计算数组元素的和
print(np.mean(a))  # 计算数组元素的平均值
print(np.max(a))  # 计算数组元素的最大值
print(np.min(a))  # 计算数组元素的最小值

运行结果如下

🍀Pandas介绍

在机器学习领域,数据处理是非常重要的一环。而Pandas作为Python中最受欢迎的数据处理库之一,提供了丰富的工具和灵活的语法,使得数据清洗、转换和探索变得简单高效。本篇博客将介绍Pandas的基本语法,以及如何利用Pandas进行数据处理,从而为机器学习任务打下坚实的基础。

🍀什么是Series?

Series是pandas中的一维标记数组。它类似于Python中的列表或数组,但提供了更多的功能和灵活性。我们可以使用Series来存储和操作单个列的数据。

首先,让我们导入pandas库并创建一个简单的Series:

代码语言:javascript
复制
import pandas as pd

# 创建一个Series
data = pd.Series([1, 3, 5, np.nan, 6, 8])
print(data)

运行结果如下

在这个例子中,我们创建了一个包含整数和NaN值的Series。每个值都有一个与之关联的索引,它们以0为起始。Series的数据类型由pandas自动推断得出。

🍀什么是DataFrame?

DataFrame是pandas中的二维表格数据结构,类似于Excel中的工作表或数据库中的表。它由行和列组成,每列可以有不同的数据类型。DataFrame是pandas中最常用的数据结构,我们可以使用它来处理和分析结构化数据。

下面是一个创建DataFrame的例子:

代码语言:javascript
复制
# 创建一个字典
data = {'Name': ['John', 'Emma', 'Mike', 'Sophia'],
        'Age': [25, 28, 22, 30],
        'City': ['London', 'New York', 'Paris', 'Tokyo']}

# 创建DataFrame
df = pd.DataFrame(data)
print(df)

运行结果如下

在这个例子中,我们使用一个字典来创建DataFrame。字典的键表示列名,对应的值是列表类型,表示该列的数据。我们可以看到DataFrame具有清晰的表格结构,并且每个列都有相应的标签,方便阅读

🍀访问和筛选数据

我们可以使用索引、标签或条件来访问和筛选数据。例如,要访问DataFrame中的一列数据,可以使用列名:

代码语言:javascript
复制
# 访问列
print(df['Name'])

运行结果如下

要访问DataFrame中的一行数据,可以使用iloc和loc方法:

代码语言:javascript
复制
# 访问行
print(df.iloc[0])  # 根据索引访问
print(df.loc[0])  # 根据标签访问

运行结果如下

要根据条件筛选数据,可以使用布尔索引:要根据条件筛选数据,可以使用布尔索引:

代码语言:javascript
复制
# 筛选数据
filtered_df = df[df['Age'] > 25]
print(filtered_df)

运行结果如下

🍀添加和删除数据

我们可以使用相应的方法向Series或DataFrame中添加或删除数据。例如,要添加一列数据,可以将一个新的Series赋值给DataFrame的一个新列名

代码语言:javascript
复制
# 添加列
df['Gender'] = ['Male', 'Female', 'Male', 'Female']
print(df)

运行结果如下

要删除列或行,可以使用drop方法

代码语言:javascript
复制
# 删除列
df = df.drop('City', axis=1)
print(df)

运行结果如下

代码语言:javascript
复制
# 删除行
df = df.drop(0)
print(df)

运行结果如下

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🍀Numpy介绍
    • 🍀数组的创建
      • 🍀索引和切片
        • 🍀数学运算
          • 🍀广播
            • 🍀聚合操作
            • 🍀Pandas介绍
              • 🍀什么是Series?
                • 🍀什么是DataFrame?
                  • 🍀访问和筛选数据
                    • 🍀添加和删除数据
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档