文章目录

  • 数据集
  • loc索引
  • iloc索引
  • 特殊索引
  • 修改索引

数据集

先建立好如下数据:

import pandas as pddf = pd.DataFrame([['乔峰', '男', 95, '降龙十八掌', '主角'],['虚竹', '男', 93, '天上六阳掌', '主角'],['段誉', '男', 92, '六脉神剑', '主角'],['王语嫣', '女', 95,'熟知武诀', '主角'],['包不同', '男', 65, '胡搅蛮缠', '配角'],['康敏', '女', 40, '惑夫妒人', '配角']],index=list('abcdef'.upper()),columns=['name', 'gender', 'score', 'skill', 'class'])
df

结果如下:

loc索引

这个loc索引非常灵活,所以搞得也有一点复杂。
1.完整

df.loc[["D"],:]#逗号前面是行后面是列,注意这个方法针对的是
#知道行索引和列索引的情况,并且返回的仍然是一个dataframe

2.单纯行索引

df.loc[["A","B"]]#也是返回dataframe


3.只有一个[],没有嵌套,返回series.

df.loc["A"]

所以我们可以使用上述返回某一个值,例如:

df.loc["A"]["name"]

iloc索引

我们现在要索引“王语嫣”,使用iloc应该如何?
数一下,发现其坐标是(3,0)。

df.iloc[3,0]

结果如下:

还有多次的索引例如索引第2行和第3行:

df.iloc[[1,2]]

那么series数据结构如何使用iloc索引呢?

#列索引直接得到series
dfn=df["name"]
print(type(dfn))
dfn

series使用iloc要注意的是,由于只有一列,所以iloc的行标照常写,列标由于一定是0,不用写了,写了将报错!

dfn.iloc[3]


最后提醒一下,iloc的行标和列标是严格顺序数下来的,和你的.index没有关系,即使上面数据的.index由原来的[A,B,C,D,E,F]换成[5,4,3,2,1,0],dfn.iloc[0]是输出“乔峰”,而不是“康敏”。

特殊索引

下面是我们很常见的一种办法,比较简洁。

df[:2]#其等价于df.iloc[:2]
#其中2代表前两行的意思,并不是行索引#返回的是dataframe

修改索引

1.dataframe.index赋值进行整体修改。

index=[i for i in range(df.shape[0])]
df.index=index
df


注意到,单个修改将报错。

print(df.index)
df.index[3]=10


2.使用rename实现单个修改。

df.rename(index={3:10})


注意:上面没有实现真正的修改,真正修改可以:

df.rename(index={3:10},inplace=True)
#或者
df=df.rename(index={3:10})

修改columns索引的内容和index类似。

df.columns


有人问:如何遍历dataframe?

这太简单了,我们不是会使用了iloc吗?

iloc遍历其中一个元素上面已经讲了。那么如何遍历一行?(以第一行为例)。

df.iloc[0,:]

汇总pandas中的dataframe的索引操作相关推荐

  1. pandas中的DataFrame数据结构

    pd.DataFrame() DataFrame 是一种二维的数据模型,相当于EXcel表格中的数据,有横竖两种坐标,横轴用columns,竖轴用index 来确定,在建立DataFrame 对象的时 ...

  2. pandas 选取第一行_用pandas中的DataFrame时选取行或列的方法

    如下所示: import numpy as np import pandas as pd from pandas import Sereis, DataFrame ser = Series(np.ar ...

  3. python怎么选取不连续的列_用pandas中的DataFrame时选取行或列的方法

    如下所示: import numpy as np import pandas as pd from pandas import Sereis, DataFrame ser = Series(np.ar ...

  4. python列表按照指定顺序排序-pandas中的DataFrame按指定顺序输出所有列的方法

    问题: 输出新建的DataFrame对象时,DataFrame中各列的显示顺序和DataFrame定义中的顺序不一致. 例如: import pandas as pd grades = [48,99, ...

  5. 根据列值删除Pandas中的DataFrame行

    本文翻译自:Deleting DataFrame row in Pandas based on column value I have the following DataFrame: 我有以下Dat ...

  6. pandas自定义设置dataframe每个索引的标签、自定义设置索引的列名称(customize index name and index label)

    pandas自定义设置dataframe每个索引的标签.自定义设置索引的列名称(customize index name and index label) 目录

  7. Python语言编程学习:numpy中的array格式数据切片与pandas中的dataframe格式数据切片、相互转换

    Python语言编程学习:numpy中的array格式数据切片与pandas中的dataframe格式数据切片.相互转换 目录 numpy中的array格式数据切片与pandas中的dataframe ...

  8. 问题:使用pandas中的DataFrame写入csv文件多出一行unnamed,如何解决呢??

    问题:使用pandas中的DataFrame写入csv文件多出一行unnamed,如何解决呢?? 参考文章: (1)问题:使用pandas中的DataFrame写入csv文件多出一行unnamed,如 ...

  9. python中的iloc函数_详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据

    pandas的DataFrame对象,本质上是二维矩阵,跟常规二维矩阵的差别在于前者额外指定了每一行和每一列的名称.这样内部数据抽取既可以用"行列名称(对应.loc[]方法)",也 ...

最新文章

  1. 为什么说特斯拉研发自动驾驶AI芯片应该引起注意?
  2. 日、德、美、中各国“工业4.0“们的核心差异
  3. 结构型模式之Decorator模式
  4. 【问题记录】解决npm 报错This dependency was not found: A complete log of this run can be found in:
  5. Java学习笔记(二)Java基本语法
  6. Mac 10.12安装数据库管理工具MySQL Workbench
  7. Oracle EBS新汇总模板创建系统余额表的记录
  8. 矩阵快速幂codevs 3332 数列
  9. tomcat-解决get请求中文乱码问题
  10. 7岁儿童智力检测题_7岁-11岁儿童智商测试题
  11. docx行间距怎么设置_word行间距怎么调?word行距调小调大固定值怎么调?
  12. (转载)TRS的WCM6漏洞权限绕过以及绕过密码的登陆方式
  13. 阿里实时计算平台的演进和运维
  14. l开头的英文车标是什么车_L开头的车标叫什么,L开头全是字母的车品牌
  15. 微积分位于基础数学的核心部分
  16. 10月,你知道有哪些程序员热点新书上榜了吗?
  17. c# 控制音量大小 CoreAudioApi
  18. 2022-2028年全球​​压力开关行业收入年复合增长率CAGR为 2.4%
  19. 【Linux】(12)计划任务:来看看如何防止黑客利用计划任务窃取信息以及背后的原理
  20. Oracle19c安装中的无法将 Windows 用户或 Windows 组 “XXX“ 添加到 Windows 组 “XXX“ 中,一站式Bug解决

热门文章

  1. 都说过了,它跟蛇没关系
  2. 程序员崩溃的40多个瞬间!!!太形象了,你遇到过几个?
  3. Web开发领域最热门的话题之混搭
  4. 【CVPR2022】双曲图像分割
  5. 一文盘点2019年AI领域都发生了什么
  6. 3min利用Python实现9种经典排序算法可视化!(附源代码)
  7. 收藏 | 最新知识图谱论文清单(附解读、下载)
  8. ICML 2018 | 清华排名国内居首:大会论文接收情况一览
  9. 2017年度NLP领域论文TOP10(附链接)
  10. 六面!终斩腾讯NLP暑期实习offer