1、创建数据帧

  index是行索引,即每一行的名字;columns是列索引,即每一列的名字。建立数据帧时行索引和列索引都需要以列表的形式传入。

import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], index=['row_0', 'row_1'], columns=['col_0', 'col_1', 'col_2'])

2、获取数据帧的行索引和列索引

2.1 获取行索引

# 以数组形式返回
row_name = df.index.values

# 以列表形式返回
row_name = df.index.values.tolist()

2.2 获取列索引

# 以数组的形式返回
col_name = df.columns.values

# 以列表的形式返回
col_name = df.columns.values.tolist()

3、获取指定行、列的元素

3.1 获取指定行的元素

  获取某行数据需用.loc[]或.iloc[]方法,不能直接索引。

# 以行名索引,返回一个系列(series)
df_row0 = df.loc['row_0']

# 以行的绝对位置索引,返回一个系列(series)
df_row0 = df.iloc[0]

3.2 获取指定列的元素

  获取某列数据可以通过列名直接索引。

# 以列名索引,返回一个系列(series)
df_col0 = df['col_0']

  索引某列不能直接通过列的绝对位置来索引,但可以转换思路,借助列索引值实现用绝对位置的间接索引。

# df_col0 = df[0] 通过绝对位置直接索引报错
# 通过列索引名 df.columns 实现对列的绝对位置索引
df_col0 = df[df.columns[0]]

4、对数据帧切片

4.1 行切片

  对行进行切片操作,可以通过.iloc[]方法或直接用行的绝对位置。不能通过行名进行切片操作。

# 通过iloc[]方法切片,[0:2]左闭右开,即切取第0行和第1行
df_row = df.iloc[0:2]

# 通过行的绝对位置切片,[0:2]左闭右开,即切取第0行和第1行
df_row = df[0:2]

4.2 列切片

  对列进行切片时,可以将所需要切取的列的列名组成一个一维的列表或数组,直接传入df[]即可。

# df_col = df[df.columns[0:2]] 切取第0列和第1列,与下句代码等价
df_col = df[['col_0', 'col_1']]

4.3 局部切片

  先进行行切片,再进行列切片即可。

# 切取第0行和第1行,'col_0'和'col_2'列
df_new = df[0:2][['col_0', 'col_2']]

5、获取某位置元素

5.1 通过行、列定位

# 通过行列定位,返回值为一个系列(series)
df_new = df.loc['row_0'][['col_0']]

5.2 通过.at[]方法

# 用行名和列名索引,返回该位置的具体元素
df_new = df.at['row_0', 'col_0']

5.3 通过.iat[]方法

# 用行列的绝对位置定位,返回该位置的具体元素
df_new = df.iat[0,0]

 小结:对行操作一般通过df.iloc[绝对位置]或df.loc[‘行名’],对列操作直接用df[‘列名’]

pandas 对数据帧DataFrame中数据的索引及切片操作的更多相关文章

  1. pandas 对数据帧DataFrame中数据的增删、补全及转换操作

    1.创建数据帧 import pandas as pd df = pd.DataFrame([[1, 'A', '3%' ], [2, 'B'], [3, 'C', '5%']], index=['r ...

  2. pandas | 如何在DataFrame中通过索引高效获取数据?

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是pandas数据处理专题的第四篇文章,我们一起来聊聊DataFrame中的索引. 上一篇文章当中我们介绍了DataFrame数据结构当 ...

  3. pandas,对dataFrame中某一个列的数据进行处理

    背景:dataFrame的数据,想对某一个列做逻辑处理,生成新的列,或覆盖原有列的值   下面例子中的df均为pandas.DataFrame()的数据   1.增加新列,或更改某列的值 df[&qu ...

  4. pandas | 详解DataFrame中的apply与applymap方法

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是pandas数据处理专题的第5篇文章,我们来聊聊pandas的一些高级运算. 在上一篇文章当中,我们介绍了panads的一些计算方法, ...

  5. pandas 获取数据帧DataFrame的行、列数

    1.创建数据帧 import pandas as pd df = pd.DataFrame([[1, 'A', '3%' ], [2, 'B']], index=['row_0', 'row_1'], ...

  6. Pandas:将DataFrame中的一列转化为List

    #假设data是一个DataFrame对象,如果要把它的第二列转换为List print(data.iloc[:,1].to_list())

  7. 数据可视化基础专题(七):Pandas基础(六) 数据增删改以及相关操作

    首先第一部还是导入 Pandas 与 NumPy ,并且要生成一个 DataFrame ,这里小编就简单的使用随机数的形式进行生成,代码如下: import numpy as np import pa ...

  8. python中str的索引、切片

    1 a = "hello" 2 a1 = a[1] 3 a2 = a[0:2] 4 print(a1) 5 print(a2) 我们通过索引获取字符串中指定位数的字符 通过切片获取 ...

  9. 控制台程序实现利用CRM组织服务和SqlConnection对数据库中数据的增删改查操作

    一.首先新建一个控制台程序.命名为TestCol. 二.打开App.config在里面加入,数据库和CRM连接字符串 <connectionStrings> <add name=&q ...

随机推荐

  1. Redis系列-远程连接redis

    假设两台redis服务器,ip分别为:192.168.1.101和192.168.1.103,如何在101上通过redis-cli访问103上的redis呢?在远程连接103之前,先讲下redis-c ...

  2. Dubbo中服务消费者和服务提供者之间的请求和响应过程

    服务提供者初始化完成之后,对外暴露Exporter.服务消费者初始化完成之后,得到的是Proxy代理,方法调用的时候就是调用代理. 服务消费者经过初始化之后,得到的是一个动态代理类,InvokerIn ...

  3. 【cogs 775】山海经 ——Segment Tree

    题目链接:      TP 题解:   我数据结构真心是弱啊= =. 线段树好厉害啊,一直不会区间最大连续和,今天刚学习了一下233. 维护前缀最大和后缀最大,越界最大(?),再维护一个区间最大,瞎搞 ...

  4. BZOJ_3174_[Tjoi2013]拯救小矮人_贪心+DP

    BZOJ_3174_[Tjoi2013]拯救小矮人_贪心+DP Description 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯.即:一个小矮人站在另一小矮人的 肩膀 ...

  5. ||与&&的返回值

    当你准备携带你的配剑杀向江湖的时候,当你准备进入js这门语言的时候,你会遇到很多||与&&的问题.那么对于他们的返回值你知道多少呢? 在此之前我们来聊一个大家都知道的知识:js中值转换 ...

  6. .Net Remoting 调用远程对象

    根据需求,我们的系统必须以C/S方式构建,而且是三层架构,这样一来,就出现了服务器端和客户端通信的问题. 为了解决双方的通信问题,还要考虑效率.性能等方面,经过分析.试验,我们根据效率.移植.开发难易 ...

  7. 大数据小视角2:ORCFile与Parquet,开源圈背后的生意

    上一篇文章聊了聊基于PAX的混合存储结构的RCFile,其实这里笔者还了解一些八卦,RCfile的主力团队都是来自中科院的童鞋在Facebook完成的,算是一个由华人主导的编码项目.但是RCfile仍 ...

  8. 我是庖丁,<肢解IOT平台>之物模型

    前言 物模型是对设备在云端的功能描述,包括设备的属性,数据,服务和事件. 物联网平台通过定义一种物的描述语言来描述物模型,称之为 TSL(即 Thing Specification Language) ...

  9. 如何看MySql执行计划explain(或desc)

    简介 MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化.EXPLAIN 命令用法十分简单, 在 S ...

  10. 新手篇丨Python任意网段Web端口信息探测工具

    你学习Python的目的是什么?是想写爬虫爬取数据(数据.图片等内容),还是想自写自动化的小工具,又或是作为一个新手小白单纯的欣赏这门语言呢? 今天i春秋分享的是一篇关于多线程工具的文章,工具使用效率 ...