🍀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)
运行结果如下
🍀索引和切片
通过索引和切片操作,我们可以访问和修改数组中的元素。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)
运行结果如下
挑战与创造都是很痛苦的,但是很充实。