pandas 详解教程希望能帮到你!

Pandas教程 | Pandas Merge数据合并图文详解 微信公众号:「Python读财」 如有问题或建议,请公众号留言 为了方便维护,一般公司的数据在数据库内都是分表存储的,比如用一个表存储所有用户的基本信息,一个表存储用户的消费情况。所以,在日常的数据处理中,经常需要将两张表拼接起来使用,这样的操作对应到SQL中是join,在Pandas中则是用merge来实现。这篇文章就讲一下merge的主要原理。 上面的引入部分说到merge是用来拼接两张表... 阅读详情

Python是开源的,它很棒,但是也无法避免开源的一些固有问题:很多包都在做(或者在尝试做)同样的事情。如果你是Python 新手,那么你很难知道某个特定任务的最佳包是哪个,你需要有经验的人告诉你。有一个用于数据科学的包绝对是必需的,它就是 pandas。

pandas 最有趣的地方在于里面隐藏了很多包。它是一个核心包,里面有很多其他包的功能。这点很棒,因为你只需要使用pandas就可以完成工作。

pandas 相当于 python 中excel:它使用表(也就是 dataframe),能在数据上做各种变换,但还有其他很多功能。

如果你早已熟知python的使用,可以直接跳到第三段。

小编本身就是一名python开发工程师,我自己花了三天时间整理了一套python学习教程,从最基础的python脚本到web开发,爬虫,数据分析,数据可视化,机器学习,等,这些资料有想要的小伙伴" 点击 " 即可领取

现在让我们开始吧!

pandas 最基本的功能

读取数据

data = pd.read_csv( my_file.csv )
data = pd.read_csv( my_file.csv , sep= ; , encoding= latin-1 , nrows=1000, skiprows=[2,5])

sep 代表的是分隔符。如果你在使用法语数据,excel 中 csv 分隔符是「;」,因此你需要显式地指定它。编码设置为latin-1来读取法语字符。nrows=1000 表示读取前 1000行数据。skiprows=[2,5] 表示你在读取文件的时候会移除第 2 行和第 5 行。

(1),最常用的功能:read_csv, read_excel

(2),其他一些很棒的功能:read_clipboard, read_sql

写数据

data.to_csv( my_new_file.csv , index=None)

index=None 表示将会以数据本来的样子写入。如果没有写 index=None,你会多出一个第一列,内容是 1,2,3…,一直到最后一行。

我通常不会去使用其他的函数,像.to_excel, .to_json,`` .to_pickle等等,因为.to_csv就能很好地完成工作,并且csv 是最常用的表格保存方式。

检查数据

在这里插入图片描述

Gives (#rows, #columns)

给出行数和列数。

data.describe()

计算基本的统计数据。

查看数据

data.head(3)

打印出数据的前 3 行。与之类似,.tail() 对应的是数据的最后一行。

data.loc[8]

打印出第八行。

data.loc[8,  column_1 ]

打印第八行名为「column_1」的列。

data.loc[range(4,6)]

第四到第六行(左闭右开)的数据子集。

pandas 的基本函数

逻辑运算

data[data[ column_1 ]== french ]
data[(data[ column_1 ]== french ) & (data[ year_born ]==1990)]
data[(data[ column_1 ]== french ) & (data[ year_born ]==1990) & ~(data[ city ]== London )]

通过逻辑运算来取数据子集。要使用 & (AND)、 ~ (NOT) 和 | (OR),必须在
逻辑运算前后加上“(”和“)”。

data[data[ column_1 ].isin([ french ,  english ])]

除了可以在同一列使用多个 OR,你还可以使用.isin() 函数。

基本绘图

matplotlib 包使得这项功能成为可能。正如我们在介绍中所说,它可以直接在 pandas 中使用。

data[ column_numerical ].plot()

在这里插入图片描述

.plot() 输出的示例

data[ column_numerical ].hist()

画出数据分布(直方图)

在这里插入图片描述

.hist() 输出的示例

%matplotlib inline

如果你在使用 Jupyter,不要忘记在画图之前加上以上代码。

更新数据

data.loc[8,  column_1 ] =  english
将第八行名为 column_1 的列替换为「english」
data.loc[data[ column_1 ]== french ,  column_1 ] =  French

在一行代码中改变多列的值。

好了,现在你可以做一些在 excel 中可以轻松访问的事情了。下面让我们深入研究 excel 中无法实现的一些令人惊奇的操作吧。

中级函数

统计出现的次数

data[ column_1 ].value_counts()

在这里插入图片描述

.value_counts() 函数输出示例

在所有的行、列或者全数据上进行操作

data[ column_1 ].map(len)

len() 函数被应用在了「column_1」列中的每一个元素上

.map() 运算给一列中的每一个元素应用一个函数

data[ column_1 ].map(len).map(lambda x: x/100).plot()

pandas 的一个很好的功能就是链式方法(https://tomaugspurger.github.io/method-chaining)。它可以帮助你在一行中更加简单、高效地执行多个操作(.map() 和.plot())。

data.apply(sum)

.apply() 会给一个列应用一个函数。

.applymap() 会给表 (DataFrame) 中的所有单元应用一个函数。

tqdm, 唯一的

在处理大规模数据集时,pandas 会花费一些时间来进行.map()、.apply()、.applymap() 等操作。tqdm 是一个可以用来帮助预测这些操作的执行何时完成的包(是的,我说谎了,我之前说我们只会使用到 pandas)。

from tqdm import tqdm_notebook
tqdm_notebook().pandas()

用 pandas 设置 tqdm

data[ column_1 ].progress_map(lambda x: x.count( e ))

用 .progress_map() 代替.map()、.apply() 和.applymap() 也是类似的。

在这里插入图片描述

在 Jupyter 中使用 tqdm 和 pandas 得到的进度条

相关性和散射矩阵

data.corr()
data.corr().applymap(lambda x: int(x*100)/100)

在这里插入图片描述

.corr() 会给出相关性矩阵

pd.plotting.scatter_matrix(data, figsize=(12,8))

在这里插入图片描述

散点矩阵的例子。它在同一幅图中画出了两列的所有组合。

pandas 中的高级操作

The SQL 关联

在 pandas 中实现关联是非常非常简单的

data.merge(other_data, on=[ column_1 ,  column_2 ,  column_3 ])

关联三列只需要一行代码

分组

一开始并不是那么简单,你首先需要掌握语法,然后你会发现你一直在使用这个功能。

data.groupby( column_1 )[ column_2 ].apply(sum).reset_index()

按一个列分组,选择另一个列来执行一个函数。.reset_index() 会将数据重构成一个表。

在这里插入图片描述

正如前面解释过的,为了优化代码,在一行中将你的函数连接起来。

行迭代

dictionary = {}

for i,row in data.iterrows():
 dictionary[row[ column_1 ]] = row[ column_2 ]

.iterrows() 使用两个变量一起循环:行索引和行的数据 (上面的 i 和 row)。

总而言之,pandas 是 python 成为出色的编程语言的原因之一。

我本可以展示更多有趣的 pandas 功能,但是已经写出来的这些足以让人理解为何数据科学家离不开 pandas。总结一下,pandas 有以下优点:

(1),用将所有复杂、抽象的计算都隐藏在背后了;
(2),直观,;
(3),快速,即使不是最快的也是非常快的。

它有助于数据科学家快速读取和理解数据,提高其工作

以上就是小编今天为大家带来的内容,小编本身就是一名python开发工程师,我自己花了三天时间整理了一套python学习教程,从最基础的python脚本到web开发,爬虫,数据分析,数据可视化,机器学习,等,这些资料有想要的小伙伴" 点击 " 即可领取

Pandas教程 | Pandas性能优化方法,让你的pandas飞起来! 微信公众号:「Python读财」 如有问题或建议,请公众号留言 Pandas是Python中用于数据处理与分析的屠龙刀,想必大家也都不陌生,但Pandas在使用上有一些技巧和需要注意的地方,尤其是对于较大的数据集而言,如果你没有适当地使用,那么可能会导致Pandas的运行速度非常慢。 对于程序猿/媛而言,时间就是生命,这篇文章给大家总结了一些pandas常见的性能优化方法,希望能对你有所帮助!... 阅读详情

相关推荐

基于Ultralytics RT-DETR的工业缺陷检测实战:从NEU-DET数据集准备到模型部署

本文详细介绍了基于Ultralytics框架和RT-DETR模型进行工业缺陷检测的完整实战流程。内容涵盖从NEU-DET数据集准备、YOLO格式转换、环境配置,到模型训练、关键参数调优、性能验证与可视化分析,最后提供了ONNX等格式的模型部署方案,为工业质检场景提供了一套高效、可落地的AI解决方案。

weixin_29168393的博客 339

一文详解Pandas

一文详解Pandas一、Pandas概述二、Pandas数据结构2.1 Series2.2 DataFrame数据结构二、数学与统计计算三、DataFrame的文件操作3.1 读取文件3.2 写入文件四、数据处理4.1 缺失值处理4.2 重复值处理 一、Pandas概述 Pandas是另外一个用于处理高级数据结构和数据分析的Python库,Pandas是基于Numpy构建的一种工具,,纳入了大量的模块和库一些标准数据模型,提高了Python处理大数据的性能。 特点: DataFrame是一种高效快速的数据

qq_44653420的博客 7846

Multisim实现555计时器模拟简易电子琴

一. 元器件介绍 这里用到的元器件有: DIgital power(VCC)数字电源 频率计数器(XFC) 示波器(XSC) ground 数字地 Capacitan 电容器 Resistor 电阻器 555_VIRTUAL 555计时器 触发按键(DIPSW)(DPST)(SPST)

是你呀星途的博客 2万+

python——pandas用法详解

Python本身的数据分析功能并不强,需要安装一些第三方的扩展库来增强它的能力。其中,针对结构化数据(可简单理解为二维表数据,或我们常用的Excel表格数据)分析能力最强的第三方扩展库就是Pandas。Pandas 是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来的,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具。

longhaierwd的博客 1万+

AI协议助手:法律文本解析与智能问答技术解析

自然语言处理(NLP)技术在法律文本解析中展现出巨大潜力,通过BERT等预训练模型实现条款分类与语义理解。结合OCR与知识图谱技术,AI协议助手能快速提取合同核心条款,并以问答形式解释法律术语,显著提升商务场景的决策效率。测试数据显示,该系统对NDA协议的识别准确率达92%,响应时间仅1.2秒,特别适用于人力资源竞业协议、云服务SLA评估等场景。随着RAG架构与法律术语向量库的应用,AI+法律正推动合同审核成本下降67%,未来将在跨境合规、智能谈判等方向持续演进。

weixin_29053577的博客 126

12S BMS 核心设计:基于 STM32H743+BQ34Z100 的 SOC/SOH 实现与全链路技术解析(上)

本文详细介绍了基于STM32H743和BQ34Z100的12串锂电池管理系统(BMS)设计。该系统采用主控制器+专用电量监测计架构,可实现高精度SOC(±1%)和SOH(±2%)估算,支持36V-50.4V电压范围。硬件设计包括电压/电流采样、温度测量、保护电路等模块,软件实现基于HAL库开发,采用DMA方式提高I2C通信效率。系统通过TI专利的ImpedanceTrack™算法实现三维融合估算,并具备完善的保护功能。该设计适用于电动工具、轻型电动车等中功率设备,具有精度高、响应快。

bother3000的博客 1392

【pandas 类库】

Pandas 是 Python 语言的一个扩展程序库,用于数据分析。 Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。 Pandas 名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析)。 Pandas 一个强大的分析结构化数据的工具集,基础是Numpy(提供高性能的矩阵运算)。 Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入.

zhurrm的博客 3314

【知识分享】高速印刷电路板(PCB)寄生参数计算指南

对于高速PCB设计而言,寄生参数一直是令人讨厌的问题,它们会悄悄潜入PCB并在电路中造成严重的破坏,具体来说,它们是渗透到高速电路中的隐藏杂散电容器和电感器,包括由封装引线和长走线形成的电感器、PCB焊盘对金属平面形成的电容器、走线之间形成的电容器等等。

一只豌豆象的博客 1779

pandas详细教程(涵盖全部,看这一篇就够了)

pandas详解,精炼到底!只做最优质的文章

m0_74344139的博客 2万+

ATT MTU 交换机制:提升 BLE 数据传输效率的关键

在低功耗蓝牙(BLE)技术的面试中,ATT MTU 交换机制始终是高频考点。无论是芯片厂商的固件开发岗,还是物联网设备的协议栈调试岗,面试官都爱通过这个知识点考察候选人对 BLE 数据传输底层逻辑的理解。本文将系统梳理核心考点,结合历年真题详解应答思路,轻松应对这类问题。​

byte轻骑兵的技术小窝 2411

YOLOv8【第一章:基础入门篇·第2节】一文搞定,数据集制作与标注完全指南!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏,该专栏专注于分享我在YOLOv8目标检测模型中的实战经验,涵盖从入门基础到深度优化的全方位解决方案。无论你是计算机视觉的新手,还是具有多年深度学习经验的专家,本专栏都将为你提供高效、可复现的技术方案,助你掌握YOLOv8的核心技术,提升目标检测性能,突破瓶颈,优化模型,并加速项目开发🚀!

**My Coding Family** 1505

pandas详解

pandas详解

qq_59084325的博客 956

Python3+PCAN-USB基于PCAN-Basic二次开发实现上位机功能

一、环境搭建 1.概述 本文主要是通过Python3与CAN总线工具PCAN-USB基于官方PCAN-Basic库实现CAN总线消息读写功能。 2.PCANBasic.py和PCANBasic.dll下载地址 https://www.peak-system.com/fileadmin/media/files/pcan-basic.zip 3.Python安装 下载地址:https://www.p...

测试领域技术分享 5182

整理一套pandas详细教程,希望对你有帮助!

来源:机器之心Python 是开源的,它很棒,但是也无法避免开源的一些固有问题:很多包都在做(或者在尝试做)同样的事情。如果你是 Python 新手,那么你很难知道某个特定任务的最佳包是...

lsxxx2011的专栏 1178

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

猫头虎分享:Python库 Pandas 的简介、安装、用法详解入门教程

Pandas是一个用于高效处理结构化数据的Python库,特别适合处理表格数据(类似Excel中的表格),比如金融数据、实验记录等。它提供了DataFrame和Series两大核心数据结构,能够帮助我们轻松应对大规模数据的导入、清洗、处理与分析工作。操作命令解释安装Pandas安装Pandas库读取CSV文件读取CSV文件创建DataFrame使用字典创建DataFrame数据筛选df[df['年龄'] > 25]根据条件筛选数据处理缺失值填充缺失值删除重复行删除重复行数据可视化。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

告别痛苦,快乐学习Pandas!开源教程《Joyful-Pandas》发布

作者:耿远昊、Datawhale团队 寄语:Pandas 是基于Numpy的一种工具,是为了解决数据分析任务而创建的,其纳入了大量库和一些标准的数据模型,提供了大量能使我们快速便捷地处理数据的函数和方法。 Datawhale又一开源项目来了!Joyful-Pandas(顾名思义:快乐学习Pandas)由Datawhale成员耿远昊发起,作者结合了三份经典教材的学习经验,历时2个多月时间,结合...

龙哥盟 3万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Python库pandas下载、安装、配置、用法、入门教程 —— read_csv()用法详解

如果你觉得这篇文章对你有所帮助,欢迎分享给你的朋友或在社交媒体上推荐!Python库pandas下载、安装、配置、用法、入门教程 —— read_csv()用法详解。Python库pandas下载、安装、配置、用法、入门教程 —— read_csv()用法详解。后续可以结合真实数据,按照自己的分析需求选择合适的参数进行实验,进一步深化理解。如果你正在学习数据分析、机器学习或深度学习,pandas 是不可或缺的工具之一!,都将带你快速上手,轻松解决日常开发中的数据处理难题!这个强大的数据处理库。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 2721

快乐学习Pandas!开源教程《Joyful-Pandas》发布

Datawhale作者:耿远昊、Datawhale团队寄语:Pandas 是基于Numpy的一种工具,是为了解决数据分析任务而创建的,其纳入了大量库和一些标准的数据模型,提供了大量能...

fengdu78的博客 2008

pandas如何保存在excel里面_整理一套pandas详细教程,希望对你有帮助!

来源:机器之心Python 是开源的,它很棒,但是也无法避免开源的一些固有问题:很多包都在做(或者在尝试做)同样的事情。如果你是 Python 新手,那么你很难知道某个特定任务的最佳包是哪个,你需要有经验的人告诉你。有一个用于数据科学的包绝对是必需的,它就是 pandas。pandas 最有趣的地方在于里面隐藏了很多包。它是一个核心包,里面有很多其他包的功能。这点很棒,因为你只需要使用 ...

weixin_39567222的博客 616

jupyter 写入csv pandas_整理一套 pandas 详细教程,希望对你有帮助!

点击上方 "Python人工智能技术"关注,星标或者置顶22点24分准时推送,第一时间送达编辑:技术君来源:机器之心Python人工智能技术(ID:coder_experience)第277次推文上一篇:中科大博士20万字正经论文:教你如何给女朋友送礼物正文Python 是开源的,它很棒,但是也无法避免开源的一些固有问题:很多包都在做(或者在尝试做)同样的事情。如果你是 Python ...

weixin_39945789的博客 600

分享我学习Pandas使用的资料,可能是新手入门Pandas最好的教程!

Pandas是Python数据科学中的必备工具,熟练使用Pandas是一名优秀的数据分析师傅的必备技能。在之前我曾将Pandas数据处理中的常用操作已习题的形式整理为Pandas进阶修炼1...

早起Python 409

‍ 猫头虎 分享:Python库 Pandas 的简介、安装、用法详解入门教程

Pandas是一个开源的Python库,主要用于数据操作和分析。Series:一维标签化数组,可以保存不同类型的数据。DataFrame:二维标签化的数据结构,类似于电子表格或SQL表。Pandas简化了数据清洗、转换、分析和可视化的过程,使得处理复杂数据变得更加直观和高效。🐼✨功能方法说明读取CSV从CSV文件读取数据写入CSV将DataFrame写入CSV文件过滤数据df[条件]根据条件筛选数据排序数据根据指定列排序数据分组与聚合对数据进行分组并计算平均值数据类型转换。

猫头虎:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务! 1773

Pandas看这一篇就够了!

文章目录1.Series2.DataFrame2.1 列的选择、添加、删除3. Series的基本操作4.DataFrame基本操作5. Pandas函数应用6.Pandas多轴索引:7.Pandas统计函数8.Pandas分组 1.Series 1.1 Pandas系列可以使用以下构造函数创建 – pandas.Series( data, index, dtype) – data:数据采取各种形式,如:ndarray,list,constants – index:必须是唯一的和散列的,与数据的长度相同。

逐梦er的博客 1万+

Python库pandas下载、安装、配置、用法、入门教程 —— `read_csv()`用法详解

read_csv()使用namesdf = pd.read_csv("example.csv", names=["编号", "姓名", "年龄"])通过本文的学习,我们从Pandas安装开始,深入了解了read_csv()函数的基本和高级用法。无论是基础参数,还是处理缺失值与分块读取的技巧,都能帮助你在数据分析中快速上手。如果你对本文内容有任何疑问,或者想了解更多的Python和Pandas知识,欢迎添加我的微信,让我们一起学习和进步!

沉淀所学,分享所思,让热爱与成长同行。商务记录AI实战经验,助力开发者快速成长。 热爱AI,希望做出有影响力的技术成果。 技术点亮生活,分享连接价值与机会。 专注AI落地实战,陪你走好技术每一步。 1万+
上一篇: Python 3.9它来啦!!!
下一篇: Python一行代码可以做些什么
python程序员小'鹏
博客等级 码龄6年 163粉丝 87原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值