pandas读取表格时header和index_col的设置讲解

本篇参考了下面两个博客

pandas读取表格时候header的用法
pandas read_csv参数index_col = None,0,False的区别

他们讲的都很好,我自己也尝试了一些案例,于是做个汇总

对于csv文件等,在读取的时候,需要给列和行进行命名,这样可以方便后续处理。

省流版

如果你的csv文件没有列名和行名(这点很重要,下面会有详细讲解),设置df = pd.read_csv(file_name,header=None, index_col=None

  1. 对于列名header,设置为None会选择0,1,2,3作为你的每一列的索引名
  2. 对于行名index_col,设置为None也是如此。

代码如下

import io
import pandas as pd
t = "index,a,b,hi,hello,pandas"
df = pd.read_csv(io.StringIO(t), header=None,index_col=None)
print(df)
"""输出内容如下:
       0  1  2   3      4       5
0  index  a  b  hi  hello  pandas
"""

详细版

注意header设置为None,如果此时每行有具体的value,则会将value加入到读取的表中,出现错误!!!

header

  1. 对于header,可以设置为None或者具体的行,但是不能设置为False

    再次解释:设置为None会按照0,1,2给值,但是如果csv原本的列有列名,这时候会将列加入到value中。设置为None的例子可以看省流版

  2. header设置为具体的行(header=0|1|2...
    这时候header会将对应行作为每列的名字,但是在这一行之前的内容都不进行选取。代码如下

import io
import pandas as pd
t = "index,a,b,hi,hello,pandas"+"\n"+ "who,are,you,i,am,man"
df = pd.read_csv(io.StringIO(t), header=0,index_col=None)
print(df)
"""输出内容如下:
  index    a    b hi hello pandas
0   who  are  you  i    am    man
可以看到,df中的第0列都作为列名了
"""

Index_col

对于index_col,可以设置为None或者具体的列,可以设置为False

  1. 设置为None
import io
import pandas as pd
t = "index,a,b,hi,hello,pandas"+"\n"+ "who,are,you,i,am,man"
df = pd.read_csv(io.StringIO(t), header=None,index_col=None)
print(df)
"""输出内容如下:
       0    1    2   3      4       5
0  index    a    b  hi  hello  pandas
1    who  are  you   i     am     man
"""
  1. 设置为具体的列,这里会将那一列的值取出作为列名
import io
import pandas as pd
t = "index,a,b,hi,hello,pandas"+"\n"+ "who,are,you,i,am,man"
df = pd.read_csv(io.StringIO(t), header=None,index_col=2)
print(df)
"""
上面是header=None,index_col=None的
       0    1    2   3      4       5
0  index    a    b  hi  hello  pandas
1    who  are  you   i     am     man
输出内容如下:
         0    1   3      4       5
2                                 
b    index    a  hi  hello  pandas
you    who  are   i     am     man
可以看到,df中的第2列都作为列名了
"""
  1. 如果设置为False,则会选择0,1,2,3作为索引
import io
import pandas as pd
t = "index,a,b,hi,hello,pandas"+"\n"+ "who,are,you,i,am,man"
df = pd.read_csv(io.StringIO(t), header=None,index_col=False)
print(df)
"""
       0    1    2   3      4       5
0  index    a    b  hi  hello  pandas
1    who  are  you   i     am     man
"""

还有其他情况,这里后续可能会再补充。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Cairo

文章目录 关于 Cairo 关于 Cairo 官网:https://cairographics.org官方文档:https://cairographics.org/documentation/ Cairo是一个支持多个输出设备的2D图形库。 当前支持的输出目标 包括 X Window System(通过Xlib 和 XCB)、Qu…

Gartner发布攻击面管理创新洞察:CTEM、VA、EASM、CAASM、ASA、DRPS、BAS、VM等攻击面管理相关技术及关系

安全运营团队负责管理跨内部和外部数字资产的复杂攻击面。这项研究概述了攻击面评估空间,以帮助安全和风险管理领导者驾驭技术并改善其安全状况。 主要发现 随着本地和云中的技术环境变得越来越复杂和分散,组织必须管理不断增长的攻击面。 SaaS 应用程序…

wordpress 突然报错Error establishing a database connection

wordpress 突然报错Error establishing a database connection 通过在宝塔端多种方式检测测,查看到时Mysql服务挂了,重启Mysql即可

cad中快速计算多个矩形面积的方法

1、输入命令reg,选中矩形创建面域 2、输入命令uni,选中刚刚创建的面域,组合成一个面域 3、输入命令:LI ,选中面域,即可查看面积和周长 需注意的一点,开始创建的矩形或者多段线要在一个面内,就是…

OpenCV——Bernsen局部阈值二值化方法

目录 一、Bernsen算法1、算法概述2、参考文献二、代码实现三、结果展示Bernsen局部阈值二值化方法由CSDN点云侠原创,爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、Bernsen算法 1、算法概述 Bernsen 算法是另一种流行的局部阈值二值化方…

美硕科技授权世强硬创代理,继电器具备控制功率小、电磁干扰小特点

受工业自动化、智能制造、物联网以及可再生能源等领域发展的推动,全球继电器市场在过去几年中持续增长,预计未来几年将继续保持这一趋势。 为满足日益增长的市场需求,世强先进(深圳)科技股份有限公司(下称…

摸龙头 交好运 五一就来龙卦山加载好运吧!

龙卦山国风嘉年华又又又来啦! 让我看看是谁还没有上车!赶紧把五一的行程安排起来! 甲辰龙年全新玩法等你来解锁! 准备好了吗,接下来跟我一起开启你在龙卦山的一天! 五一特种兵的早八时间 8:00AM - 8:00…

Cooper在线协同插件:赋能团队,共筑高效协作新篇章

在数字化浪潮席卷全球的今天,高效协作已成为项目成功的关键要素。为了满足现代团队对协作的迫切需求,我们隆重推出Cooper在线协同插件——一款专为代码项目协作量身打造的精英级工具。凭借卓越的安全性、高效性和易用性,Cooper正迅速成为团队…

代理IP供应商的代理池大小怎么看?

代理池作为网络爬虫、数据采集和隐私保护等领域中的重要工具,扮演着连接真实网络和爬虫之间的桥梁。代理池的大小是影响其性能和可用性的关键因素之一。在这篇文章中,我们将深入探讨代理池的大小对业务的影响,并探讨在不同情况下如何选择合适…

代理IP干货:如何正确使用防范风险?

在今天的数字时代,代理IP地址已成为互联网世界中不可或缺的一部分。无论您是寻求绕过地理限制、保护个人隐私还是执行网络任务,代理IP地址都发挥着关键作用。我们将为您探讨代理IP地址的重要性以及如何防范潜在的风险和威胁。 一、代理IP地址的潜在风险 …

【OceanBase系列】—— 常用运维操作(备忘)

作者简介: 花名:绪宁,OceanBase 数据库解决方案架构师 创建租户 方法一:OCP 创建 确认可分配资源 具体可以分配多少内存,可以通过【资源管理】查看各节点的剩余资源 2. 新建租户 3. 填写租户信息 zone 优先级主要是 p…

WMS系统如何满足多种仓储模式需求

一、WMS系统的基本功能 WMS系统通常具备以下基本功能:入库管理、出库管理、库存管理、订单管理、报表分析等。这些功能能够实现对仓库内货物的实时监控、追踪和查询,确保货物的准确、高效流通。 二、WMS系统如何适应不同的仓储模式 静态仓储模式 静态…

PyCharm开发工具安装plugins插件

一. 简介 通过前面的学习,我们知道 python开发常用的一个开发工具(即IDE)是 PyCharm。 本文来简单介绍一下,PyCharm开发工具是如何安装 plugins插件的。其实与 vscode软件安装插件类似。 本文来学习 PyCharm开发工具安装一个中…

Github2024-04-25 开源项目日报Top10

根据Github Trendings的统计,今日(2024-04-25统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目4非开发语言项目2TypeScript项目2PowerShell项目1C++项目1Dart项目1JavaScript项目1GPT4All: 在边缘运行开源大型语言模型 创建周期:…

【数据结构(邓俊辉)学习笔记】向量04——有序向量

文章目录 0.概述1.比较器2.有序性甄别3.唯一化3.1低效算法3.1.1实现3.1.2 复杂度3.1.3 改进思路3.2 高效算法3.2.1 实现3.2.2 复杂度 4.查找4.1统一接口4.2 语义定义4.3 二分查找4.3.1 原理4.3.2 实现4.3.3 复杂度4.3.4 查找长度4.3.5 不足 4.4 Fibonacci查找4.4.1 改进思路4.4…

项目_预览和模拟器运行_真机运行鸿蒙应用---HarmonyOS4.0+鸿蒙NEXT工作笔记002

然后再来看如何使用预览,可以看到 右侧有个preview,点开就可以了 然后再有一个tools,这里 Device Manager,这个是模拟器 点开以后可以看到让我们连接,本地模拟器,还是远程模拟器,还是远程设备 这里我们选择phone 如果选择remote device,这个需要登录华为账号,会自动弹出来登…

PyTorch深度解析:Tensor——神经网络的核心构建块

在深度学习和神经网络的研究与应用中,Tensor(张量)无疑是一个核心概念。特别是在PyTorch这一强大的深度学习框架中,Tensor更是扮演了举足轻重的角色。本文将深入探讨PyTorch中的Tensor,从其基本定义、特性、操作到实际…

2024年度西安市创新联合体备案申报条件时间要求须知

一、申报条件 组建市级创新联合体需具备牵头单位、成员单位、组建协议、首席科学家等四个条件。 (一)牵头单位 1.牵头单位应为在西安市注册登记的省市产业链龙头骨干企业,重点支持市级重点产业链“链主”企业; 2.牵头单位一般为1家。 (二)成员单位 1.成员单位…

5分钟——快速搭建后端springboot项目

5分钟——快速搭建后端springboot项目 1. idea新建工程2. 构建pom.xml文件3. 构建application.yml配置文件4. 构建springboot启动类5. 补充增删改查代码6. 运行代码7. 下一章 1. idea新建工程 点击右上角新建一个代码工程 别的地方不太一样也不用太担心,先创建一个…

linux驱动-CCF-0基础

1. 时钟设备 晶振:提供基础时钟源的(可分为有源晶振、无源晶振两种); PLL: 用于倍频的锁相环; mux: 用于多路时钟源选择; Divider: 用于分频的; gate: 用于时钟使能的与门电路等 注册函数…
最新文章