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

🍀Numpy介绍

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

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


🍀数组的创建

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

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)

运行结果如下
://img-blog.csdnimg.cn/f9ffd696929a47e5973cea800e3bbb40.png)


🍀索引和切片

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

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

运行结果如下

在这里插入图片描述


🍀数学运算

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

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

运行结果如下
在这里插入图片描述

🍀广播

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

a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([1, 2, 3])
print(a + b)  # 广播运算

运行结果如下
在这里插入图片描述

🍀聚合操作

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

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:

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的例子:

# 创建一个字典
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中的一列数据,可以使用列名:

# 访问列
print(df['Name'])

运行结果如下

在这里插入图片描述

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

# 访问行
print(df.iloc[0])  # 根据索引访问
print(df.loc[0])  # 根据标签访问

运行结果如下

在这里插入图片描述

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

# 筛选数据
filtered_df = df[df['Age'] > 25]
print(filtered_df)

运行结果如下
在这里插入图片描述

🍀添加和删除数据

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

# 添加列
df['Gender'] = ['Male', 'Female', 'Male', 'Female']
print(df)

运行结果如下
在这里插入图片描述

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

# 删除列
df = df.drop('City', axis=1)
print(df)

运行结果如下
在这里插入图片描述

# 删除行
df = df.drop(0)
print(df)

运行结果如下
在这里插入图片描述

请添加图片描述

挑战与创造都是很痛苦的,但是很充实。

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小馒头学python

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

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

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

打赏作者

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

抵扣说明:

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

余额充值