热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python数据处理工具之Pandas

日萌社人工智能AI:KerasPyTorchMXNetTensorFlowPaddlePaddle深度学习实战(不定时更新)Pandas

日萌社

人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)


Pandas最核心的两个数据结构是一维的Series和二维的DataFrame,Series是带有标签的同构类型数组,而DataFrame是一个二维的表结构。
在同构类型的数据中,一个DataFrame可以看作是由多个Series组成的。1.3.1 数据读取和存储Pandas是处理结构化数据非常重要的一个工具,其功能强大且好用。Pandas可以从CSV、JSON、Text等格式文件中读取数据,本节讲解CSV、JSON格式数据的读取和存储。1.CSV文件的读取和存储对CSV文件进行操作有两个接口(API),分别是read_csv和to_csv。(1)API: read_csvread_csv()是用来读取CSV文件的接口,其具有丰富的参数,可以配置来满足实际的数据读取需要。下面介绍一些关键的且常用的参数。• filepath_or_buffer:配置所需读取CSV文件的路径。• sep:配置CSV文件的列分隔符,默认是逗号“,”。• delimiter:可选配置,作为sep配置分隔符的别名。• delim_whitespace:配置是否用空格来作为列分隔符。如果设置为True,那么sep配置参数就不起作用了。• header:配置用行数来作为列名,默认配置成自动推断。• names:配置列名,如果所读取的CSV文件没有表头,那么需要配置header=None,否则会将第一行数据作为对应的列名。• usecols:当只需要读取CSV文件中的部分数据时,可以使用usecols来指定读取列名以获取数据。• dtype:配置所读取数据的类型。• encoding:配置文件的编码方式,一般使用UTF-8或者GBK。(2)API: to_csvto_csv()用于将数据保存到CSV文件中。其参数比较多,如下所示,但只有第一个参数是必需的。• path_or_buf:配置CSV文件的保存路径。• sep:配置保存文件的分隔符,默认是逗号“,”。• na_rep:配置空值补全的值,默认用空格代替。• float_format:配置将浮点数格式化成字符串类型。• columns:配置需要写入列的列名,如果不配置,则默认从第1列开始写入。• header:配置是否写入列名,默认是需要写的。• index:配置是否写入行名,默认是需要写的。• index_label:配置用来作为列索引的列,默认是没有的。• mode:配置写入模式,默认是W。• encoding:配置编码格式,该配置只针对Python 3以前的版本。• line_terminator:配置每行的结束符,默认使用“\n”。• quotin:配置CSV的引用规则。• quotechar:配置用来作为引用的字符,默认是空格。• chunksize:配置每次写入的行数。• tuplesize_cols:配置写入list的格式,默认以元组的方式写入。• date_format:配置时间数据的格式。2.JSON文件的读取和存储对JOSN文件进行操作有两个API,分别是read_json和to_json。(1)API:read_json()read_json()是用于读取JSON文件或者返回JSON数据的接口。日常需要用到的配置参数如下。• filepath_or_buffer:配置有效的JSON字符串、JSON文件的路径或者数据接口。数据接口可以是一个URL地址。• type:配置将读取的数据生成Series还是DataFrame,默认是DataFrame。(2)API:to_json()to_json()用于将数据保存为JSON格式。日常需要用到的配置参数如下。• path_or_buf:配置JSON数据保存的路径或者写入的内存区域。• date_format:配置时间数据的格式,epoch表示配置成时间戳的格式,iso表示配置成ISO 8601的格式。• double_precision:配置小数点后保留的位数,默认是10位。• force_ascii:配置是否强制将String转码成ASCII,默认强制进行转码。• date_unit:配置时间数据的格式,可以实现精确到秒级或毫秒级。1.3.2 数据查看和选取Pandas的数据对象有Series、DataFrame和Panel,常用的数据类型是一维的Series和二维的DataFrame。DataFrame拥有非常丰富的API,能够满足我们对数据选取和处理的需求。1.查看数据(1)df.shapedf.shape用于查看数据的维度。由于DataFrame是二维的,因此df.shape的返回值包含两个元素,df.shape[0]返回的是行数,df.shape[1]返回的是列数。示例代码如下:

(2)df.head()df.head()默认返回DataFrame数据的前5行,如果需要查看更多的行数,则只要传参进去即可。df.tail()默认返回数据的后5行,想要查看更多的数据同样可以传参进去。想要查看列名可以使用df.columns(),查看各列的平均值可以直接用df.mean()。查看数据的汇总统计可以使用df.describe(),查看数据概况可以使用df.info。示例代码如下:

2.选取数据在选取数据时,既可以使用列名来选取,也可以使用索引来选取。如果要查看某列的数据,则可以用df[col_name]或者df.col_name,当查看多列时可以将多列的列名作为一个数组传参进去,如df[[col1,col2]]。使用索引来选取数据,则要用到df.iloc。大家要注意df.loc和df.iloc在使用上是有区别的,df.loc传递的是索引的名称,df.iloc传递的是索引的相对位置,我们常用的是df.iloc。示例代码如下:

1.3.3 数据处理Pandas DataFrame提供了丰富的数据处理方法,为我们进行必要的数据操作和预处理提供了非常大的帮助。下面我们来看看常用的数据处理方法。1.数据合并在进行数据预处理时,需要进行必要的数据合并操作,将分散的数据或者部分数据整合到一起进行神经网络模型训练。DataFrame提供了多个数据拼接的方法,使用pd.concat()可以直接放到数组中按行拼接,也可以使用pd.merge()按列拼接,或者使用df.append()增加某列数据。示例代码如下:

2.数据清理在使用DataFrame进行数据处理时,如果数据质量不高,则需要清理一些空值或者进行空值补全。我们可以使用df3.isnull()检查数据是否为空值,使用df3.isnull().sum()进行空值的统计。如果需要对空值进行补全,则可以使用df3.fillna(n),n值就是替换空值的值。如果想要去掉所有带有空值的数据,则可以使用df3.dropna()删除包含空值的行和列,默认删除包含空值的行。df3.dropna(axis=1)会删除包含空值的列。示例代码如下:

3.数据处理在进行数据处理时,我们还会遇到诸如转换数据类型、统计唯一值的个数以及序列排序等需求。DataFrame也提供了一些对应的操作方法供使用,比如,转换数据类型可以使用df3.astype(),统计唯一值的个数可以使用df3.columns.value_counts(),序列排序可以使用df3.sort_values(by=colname, ascending=True)。示例代码如下:


推荐阅读
  • 用pandas库修改excel文件里的内容,并把excel文件格式存为csv格式,再将csv格式改为html格式
    假设有Excel文件data.xlsx,其中内容为:     ID age height    sex weight张三  1  39    181 female     85李四  2  40    180   male     80王五  3  38    178 female     78赵六  4  59    1 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • csv转为矩阵 python_Python可视化 | Seaborn5分钟入门(六)——heatmap热力图
    Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API ... [详细]
  • python机器学习之数据探索
    🐱今天我们来讲解数据建模之前需要处理的工作,也就是数据探索的过程,很多同学会说,不就是处理缺失值,异常值&# ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了使用Python编写购物程序的实现步骤和代码示例。程序启动后,用户需要输入工资,并打印商品列表。用户可以根据商品编号选择购买商品,程序会检测余额是否充足,如果充足则直接扣款,否则提醒用户。用户可以随时退出程序,在退出时打印已购买商品的数量和余额。附带了完整的代码示例。 ... [详细]
  • 本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • BN原理、作用:函数参数讲解:BatchNorm2d(256,eps1e-05,momentum0.1,affineTrue,track_running ... [详细]
author-avatar
louis_bana
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有