【Python】进阶学习:pandas--info()用法详解

【Python】进阶学习:pandas–info()用法详解
在这里插入图片描述

🌈 个人主页:高斯小哥
🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~
💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)


🌵文章目录🌵

  • 📚 一、初识`info()`函数
  • 💻 二、`info()`函数的基本用法
  • 🔍 三、定制`info()`函数的输出
  • 📚 四、总结
  • 🤝 五、期待与你共同进步

📚 一、初识info()函数

  在pandas库中,info()函数是一个DataFrame和Series对象的方法,用于获取有关数据结构的简要摘要。通过调用info()函数,我们可以快速了解数据集中的基本信息,如行数、列数、列的数据类型、非空值的数量以及内存使用情况等。

💻 二、info()函数的基本用法

  info()函数的基本用法非常简单,只需在DataFrame或Series对象上调用即可。

import pandas as pd# 创建一个示例DataFrame
data = {'A': [1, 2, 3, None],'B': [4, None, 6, 8],'C': ['p', 'q', 'r', 's']
}
df = pd.DataFrame(data)# 调用info()函数
df.info()

上述代码将输出DataFrame的简要摘要,包括索引类型、列名、非空值的数量以及每列的数据类型:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):#   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  0   A       3 non-null      float641   B       3 non-null      float642   C       4 non-null      object 
dtypes: float64(2), object(1)
memory usage: 224.0+ bytes

🔍 三、定制info()函数的输出

  info()函数提供了一些可选参数,用于定制输出的内容。以下是 info() 函数的主要参数及其描述:

  1. verbose(布尔值,默认为 True):

    • 控制输出的详细程度。如果为 True,则会显示每列的详细信息,包括非空值的数量。如果为 False,则只显示摘要信息。
  2. buf(可写缓冲区,默认为 None):

    • 指定一个可写缓冲区,如文件对象或 StringIO 对象,用于将输出写入。如果提供了这个参数,info() 函数不会将输出直接打印到控制台,而是写入到指定的缓冲区。
  3. memory_usage(布尔值或字符串,默认为 None):

    • 控制是否显示内存使用情况。如果为 True,则会显示每列占用的内存大小。如果为字符串,则可以指定内存使用的单位,如 'deep' 表示深度内存使用。如果为 None,则不显示内存使用情况。
  4. show_counts(布尔值,默认为 None):

    • 控制是否显示非空值的数量。如果为 True,则会显示每列中非空值的数量。如果为 False,则不显示这个信息。当 verboseFalse 时,这个参数将被忽略。

示例代码:

import pandas as pd# 创建一个示例DataFrame
data = {'A': [1, 2, 3, None],'B': [4, None, 6, 8],'C': ['p', 'q', 'r', 's']
}
df = pd.DataFrame(data)# 调用info()函数
# verbose = False
df.info(verbose=False)print("*"*50)
print("*"*50)# 指定一个[可写]缓冲区
with open("result.txt", "w") as f:df.info(buf=f)print("相关信息已写入result.txt!")
print("*"*50)
print("*"*50)# memory_usage
df.info(memory_usage="deep")
print("*"*50)
df.info(memory_usage=True)
print("*"*50)
df.info(memory_usage=False)print("\n" + "*"*50)
print("*"*50)# show_counts
df.info(show_counts=True)
print("\n" + "*"*50)
df.info(show_counts=False)

输出:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Columns: 3 entries, A to C
dtypes: float64(2), object(1)
memory usage: 224.0+ bytes
**************************************************
**************************************************
相关信息已写入result.txt!
**************************************************
**************************************************
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):#   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  0   A       3 non-null      float641   B       3 non-null      float642   C       4 non-null      object 
dtypes: float64(2), object(1)
memory usage: 424.0 bytes
**************************************************
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):#   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  0   A       3 non-null      float641   B       3 non-null      float642   C       4 non-null      object 
dtypes: float64(2), object(1)
memory usage: 224.0+ bytes
**************************************************
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):#   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  0   A       3 non-null      float641   B       3 non-null      float642   C       4 non-null      object 
dtypes: float64(2), object(1)
**************************************************
**************************************************
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):#   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  0   A       3 non-null      float641   B       3 non-null      float642   C       4 non-null      object 
dtypes: float64(2), object(1)
memory usage: 224.0+ bytes**************************************************
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):#   Column  Dtype  
---  ------  -----  0   A       float641   B       float642   C       object 
dtypes: float64(2), object(1)
memory usage: 224.0+ bytes

  通过合理设置这些参数,用户可以根据具体需求定制 info() 函数的输出内容,从而更有效地理解和分析数据集。这些参数使得 info() 函数在数据探索、数据清洗和预处理等阶段都非常有用。

📚 四、总结

  info()函数是pandas库中一个非常实用的函数,它可以帮助我们快速了解数据集的基本信息。通过灵活运用info()函数,我们可以更好地理解和处理数据,为后续的数据分析和建模提供有力支持。

🤝 五、期待与你共同进步

  🌱 亲爱的读者,非常感谢你每一次的停留和阅读!你的支持是我们前行的最大动力!🙏

  🌐 在这茫茫网海中,有你的关注,我们深感荣幸。你的每一次点赞👍、收藏🌟、评论💬和关注💖,都像是明灯一样照亮我们前行的道路,给予我们无比的鼓舞和力量。🌟

  📚 我们会继续努力,为你呈现更多精彩和有深度的内容。同时,我们非常欢迎你在评论区留下你的宝贵意见和建议,让我们共同进步,共同成长!💬

  💪 无论你在编程的道路上遇到什么困难,都希望你能坚持下去,因为每一次的挫折都是通往成功的必经之路。我们期待与你一起书写编程的精彩篇章! 🎉

  🌈 最后,再次感谢你的厚爱与支持!愿你在编程的道路上越走越远,收获满满的成就和喜悦!祝你编程愉快!🎉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721238.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新零售SaaS架构:订单履约系统的概念模型设计

订单履约系统的概念模型 订单&#xff1a;客户提交购物请求后&#xff0c;生成的买卖合同&#xff0c;通常包含客户信息、下单日期、所购买的商品或服务明细、价格、数量、收货地址以及支付方式等详细信息。 子订单&#xff1a;为了更高效地进行履约&#xff0c;大订单可能会被…

Python实战(11):正则表达式

正则表达式 re.match()方法 re.match 尝试从字符串的起始位置匹配一个模式&#xff0c;如果不是起始位置匹配成功的话&#xff0c;match() 就返回 None。 import re# <re.Match object; span(0, 3), matchwww> print(re.match("www", "www.baidu.com&q…

DOM HTML5 -操作自定义属性

我们的标签它默认就有自己的属性&#xff1a;id、class、style、src等等 ​ 如果它不存在&#xff0c;我们自己写入的叫做”自定义属性“&#xff0c;一般我们用来存储某些数据的场景下使用&#xff1b; <div class"box" boxTitle"frameworkBox" id&q…

MySQL运维实战之备份和恢复(8.3)xtrabackup增量备份

作者&#xff1a;俊达 xtrabackup支持增量备份。在做增量备份之前&#xff0c;需要先做一个全量备份。xtrabackup会基于innodb page的lsn号来判断是否需要备份一个page。如果page lsn大于上次备份的lsn号&#xff0c;就需要备份该page。 1、先进行一次全量备份。 xtrabackup -…

科技创新赋能森歌制造-浅谈森歌高品质发展之路

随着时代的变迁&#xff0c;科技创新已成为推动制造业高质量发展的关键力量。森歌&#xff0c;作为厨电行业的佼佼者&#xff0c;始终坚守着对优质品质的承诺&#xff0c;并在品牌的科技化升级之路上不断迈进。 在制造业科技化的背景下&#xff0c;新型工业化、数字经济、制造…

TQTT X310 软件无线电设备的FLASH固件更新方法

TQTT X310 除了PCIE口全部兼容USRP 官方的X310&#xff0c;并配备两块UBX160射频子板以及GPSDO。TQTT X310可以直接使用官方的固件&#xff0c;但是不支持官方的固件升级命令。这篇BLOG提供烧写刷新FLASH的方法。 1&#xff0c;使用的是WINDOWS系统。首先给X310接入电源并开机…

【计算机学习】-- 网页视频加速

系列文章目录 文章目录 系列文章目录前言一、开发者选项二、定义和用法1.基础语法&#xff1a;2.什么是uncaught TypeError:Cannot read properties of null? 二、开发者工具面板&#xff1a;1.Elements面板&#xff1a;2.Console面板&#xff1a; 总结 前言 一、开发者选项 …

Docker 离线版安装

首先、 下载 docker-20.10.9.tgz 和 docker-compose https://download.csdn.net/download/cyw8998/88905939 一、离线安装docker1.解压缩 docker-20.10.9.tgz [rootcentos247 docker]# tar -zxvf docker-20.10.9.tgz docker/ docker/containerd-shim-runc-v2 docker/docke…

【Web】Java反序列化之CB1链花样调TemplatesImpl打Shiro

目录 关于commons-beanutils 关于PropertyUtils.getProperty TemplatesImpl实例化类的调用链路 TemplatesImpl#getOutputProperties竟是getter方法 接轨TemplatesImpl链的关键类——BeanComparator exp 无依赖的Shiro反序列化利用链 关于commons-beanutils Apache Comm…

vue3 中使用 TinyMCE 富文本编辑器

1. TinyMCE 官方网站地址&#xff08;可能需要魔法上网才能访问&#xff09; 我们直接找到 TinyMCE 关于 vue 的下载地址&#xff0c;其他框架的下载也在这里 2. 向下找&#xff0c;找到关于vue3下载的地方 下载命令 npm install --save "tinymce/tinymce-vue^5" 例…

Linux 模拟实现shell【简单实现】

shell的模拟实现 我们知道shell是一个永不退出的程序&#xff0c;所以他应该是一个死循环&#xff0c;并且shell为了防止影响到自己&#xff0c;我们在命令行上输入的所有命令都是由shell的子进程来执行的&#xff0c;所以它应该要有创建子进程的相关函数&#xff0c;当然也会…

loadrunner lr解决参数化一次取多条记录【一对多问题】

场景&#xff1a;批量进行工作汇报&#xff0c;一个项目下选择三个工作项进行汇报&#xff1b; 问题&#xff1a;项目GUID变化一次&#xff0c;工作项GUID要取三个值&#xff0c;也就是变化三次&#xff1b; 我们知道&#xff0c;在Parameter List中可以设置参数取值规则&…

Tomcat(二) 动静分离

一、(TomcatNginx)动静分离 1、单机反向代理 利用 nginx 反向代理实现全部转发至指定同一个虚拟主机 客户端curl www.a.com 访问nginx服务&#xff0c;nginx服务通过配置反向代理proxy_pass www.a.com:8080&#xff0c;最终客户端看到的是www.a.com 实验中&#xff1a;7-3 做客…

vue3中使用ref

<template> <div> <el-col :span"24"> <el-form-item label"所属单位" prop"enterpriseId"> <el-select v-model"serviceForm.enterpri…

#QT(智能家居界面-界面切换)

1.IDE&#xff1a;QTCreator 2.实验 3.记录 &#xff08;1&#xff09;创建一个新界面&#xff08;UI界面&#xff09; &#xff08;2&#xff09;可以看到新加入一个ui文件&#xff0c;双击打开&#xff0c;设置窗口大小与登录界面一致 &#xff08;3&#xff09;加入几个PUS…

python 基础知识点(蓝桥杯python科目个人复习计划58)

今日复习内容&#xff1a;做题 例题1&#xff1a;仙境诅咒 问题描述&#xff1a; 在一片神秘的仙境中&#xff0c;有N位修仙者&#xff0c;他们各自在仙境中独立修炼&#xff0c;拥有他们独特的修炼之地和修炼之道&#xff0c;修炼者们彼此之间相互尊重&#xff0c;和平相处…

linux tar.xz 压缩与解压

解压tar.xz 一、解压解tar.xz文件有两种方法&#xff0c;以php-7.2.0.tar.xz为例。 方法1&#xff1a; # xz -d php-7.2.0.tar.xz #ls #php-7.2.0.tar #tar -xvf php-7.2.0.tar -C /usr/local/方法2: tar xvJf php-7.2.0.tar.xz -C /usr/local/ 1 上面两种方法如果不加-C参数…

P-States/C-States/S-States/G-States/D-States

P-States是指处理器的性能状态&#xff0c;可以根据需要调整处理器的工作频率和电压来平衡性能和能效。 S-States是指系统的睡眠状态&#xff0c;可以让系统在空闲时进入低功耗状态以节省能量。 G-States是系统的全局状态&#xff0c;通常用于描述整个系统的运行状态。 C-St…

用ChatGPT计算植被归一化指数NDVI并出图的详细教程

用ChatGPT结合GIS计算植被归一化指数NDVI出图教程 用ENVI计算比较繁琐&#xff0c;如今AI的盛行&#xff0c;我们可以轻松解决计算问题&#xff0c;只需1一分钟变可以出图。 详细教学请看上方视频步骤。 更多ChatGPT教学内容请见&#xff1a;ChatGPT结合GIS&#xff1a;一分钟…

如何在Vue中进行单元测试?

前端开发中&#xff0c;单元测试是一个非常重要的环节&#xff0c;它可以帮助我们在开发过程中发现潜在的问题&#xff0c;并确保我们的代码在不断迭代的过程中依然能够保持稳定。在Vue中进行单元测试同样非常重要&#xff0c;本文将介绍如何在Vue项目中进行单元测试。 在Vue中…