Pandas进阶指南:10个基本函数搞定数据处理(上)

Pandas在数据分析中的关键函数:Python库详解,
本文介绍了如何利用Python库pandas进行数据分析,包括数据导入、查看、统计、选择、清洗、聚合、过滤、排序和数据透视表等重要函数,帮助读者掌握数据处理的基础技能。

大家好,在当今这个数据驱动的世界中,数据分析和洞察力可以帮助人们充分利用数据并做出更好的决策,数据提供了极大的竞争优势。本文将探索最强大的Python库pandas,讨论该库中对于数据分析而言最重要的函数。

导入数据

【数据集链接】:https://www.kaggle.com/datasets/kyanyoga/sample-sales-data

import pandas as pd
df = pd.read_csv("kaggle_sales_data.csv", encoding="Latin-1")  # 加载数据

df.head()  # 显示前五行

输出:

图片

数据探索

本节将讨论各种函数,这些函数可以帮助用户更好地了解数据信息,如查看数据、获取平均值、平均数、最小/最大值或获取有关数据帧的信息等。

1.数据查看

df.head()显示数据的前五行:

图片

显示数据的后五行:

图片

df.sample(n):显示数据中的随机n行。

df.sample(6)

图片

df.shape:显示数据的行数和列数(维度)。

(2823, 25)

这表示本文的示例数据集有2823行,每行包含25列。

2.统计

本节包含帮助用户在数据上执行平均值、最小/最大值和四分位数等统计操作的函数。

df.describe():获取示例数据每列的基本统计信息。

图片

df.info():获取所使用的各种数据类型信息和每列的非空值计数。

图片

df.corr():给出数据帧中所有整数列之间的相关矩阵。

图片

df.memory_usage():指示每一列消耗的内存量。

3. 数据选择

可以选择任何特定行、列甚至多个列的数据。

df.iloc[row_num]:根据索引选择特定行。

df.iloc[0]

df[col_name]:选择特定列。

df["SALES"]

输出:

图片

df[['col1', 'col2']]:选择给定的多个列。

df[["SALES", "PRICEEACH"]]

图片

4.数据清洗

清洗函数用于处理缺失数据。数据中的某些行包含一些空值和垃圾值,这可能会影响训练好的模型的性能。因此,最好是纠正或删除这些缺失值。

  1. df.isnull():识别数据帧中的缺失值。

  2. df.dropna():删除任意列中包含缺失值的行。

  3. df.fillna(val):用参数中给定的val填充缺失值。

  4. df['col'].astype(new_data_type):将所选列的数据类型转换为不同的数据类型。

例如:

df["SALES"].astype(int)

本示例正在将SALES列的数据类型从浮点型转换为整型。

图片

5.数据分析

本节介绍一些数据分析中实用的函数,如分组、排序和过滤。

5.1 聚合函数

可以根据名称对列进行分组,然后应用一些聚合函数,如求和、最小/最大值、平均值等。

df.groupby("col_name_1").agg({"col_name_2": "sum"})

例如:

df.groupby("CITY").agg({"SALES": "sum"})

这将提供每个城市的总销售额。

图片

如果想同时应用多个聚合函数,可以像这样编写代码:

aggregation = df.agg({"SALES": "sum", "QUANTITYORDERED": "mean"})

输出:

SALES              1.003263e+07

QUANTITYORDERED    3.509281e+01

dtype: float64

5.2 数据过滤

根据特定的值或条件过滤行中的数据:

df[df["SALES"] > 5000]

显示销售额大于5000的行,还可以使用query()函数过滤数据帧,它也将生成与上述类似的输出结果。

df.query("SALES" > 5000)

5.3 数据排序

根据特定列按升序或降序对数据进行排序:

df.sort_values("SALES", ascending=False)  # Sorts the data in descending order

5.4 数据透视表

使用特定列创建汇总数据的数据透视表,当只想考虑特定列的影响时,这对分析数据非常有用。

pd.pivot_table(df, values="SALES", index="CITY", columns="YEAR_ID", aggfunc="sum")

详细解释如下:

values:它包含要填充表格单元格的列。

index:用于创建数据透视表行索引的列,该列的每个唯一类别都将成为数据透视表中的一行。

columns:它包含数据透视表的标题,每个唯一元素将成为数据透视表中的列。

aggfunc:这与之前讨论过的聚合器函数相同。

输出:

图片

该输出显示的图表描述了特定城市在特定年份的销售总额。

我们已介绍了5个数据处理基本函数,Pandas进阶指南:10个基本函数搞定数据处理(下)将介绍其他5个基本函数。

【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

python慕遥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值