python DataFrame中loc与iloc取数据的基本方法实例

目录
  • 1.准备一组DataFrame数据
  • 2.loc标签索引
    • 2.1loc获取行
      • 2.1.1loc获取一行
      • 2.1.2loc获取多行
      • 2.1.3loc获取多行(切片)
    • 2.2loc获取指定数据(行&列)
  • 3.iloc位置索引
    • 3.1iloc获取行
      • 3.1.1iloc获取单行
      • 3.1.2iloc获取多行
    • 3.2iloc获取指定数据(行&列)获取所有行,指定列
  • 总结

关于python数据分析常用库pandas中的DataFrame的loc和iloc取数据 基本方法总结归纳及示例如下:

1.准备一组DataFrame数据

import pandas as pd
df = pd.DataFrame({
    'AAA': [120, 101, 106, 117, 114, 122],
    'BBB': [115, 100, 110, 125, 123, 120],
    'CCC': [109, 112, 125, 120, 116, 115],
    'DDD': 'ABCDEFG'
}, index=[1, 2, 3, 4, 5, 6])

2.loc 标签索引

loc通过标签 在DataFrame中选取数据

2.1 loc 获取行

2.1.1 loc 获取一行

print(df)
print("=======================")
# 获取一行数据
print(df.loc[1])

2.1.2 loc 获取多行

print(df)
print("=======================")
print(df.loc[[1, 3]])

2.1.3 loc 获取多行(切片)

print(df)
print("=======================")
print(df.loc[1:5])

2.2 loc获取指定数据(行&列)

当对行和列同时指定时,如果指定值不连续,则需要放在一个列表中;如果指定值是连续的,并采用切片的方式,则不需要加方括号。loc的参数中,左边表示行,右边表示列。

示例一

print(df)
print("=======================")
print(df.loc[2:4, ['AAA', 'CCC']])

示例二

print(df)
print("=======================")
print(df.loc[[1, 3], ['BBB', 'DDD']])

示例三

print(df)
print("=======================")
print(df.loc[:, 'BBB':])

3. iloc 位置索引

loc通过位置 在DataFrame中选取数据

3.1 iloc 获取行

3.1.1 iloc 获取单行

以获取第二行为例

print(df)
print("=======================")
print(df.iloc[1])  # 第2行

3.1.2 iloc 获取多行

获取下标为0,2的行(第1、3行)

print(df)
print("=======================")
print(df.iloc[[0, 2]])  # 第1、3行。

获取下标为1到3的行(第2、3、4行)

print(df)
print("=======================")
print(df.iloc[1: 4])  # 第2、3、4行。

获取下标为1的行,及其后边的所有行

print(df)
print("=======================")
print(df.iloc[1:])  # 第二行及以后。

3.2 iloc获取指定数据(行&列) 获取所有行,指定列

print("=======================")
print(df.iloc[:, [1, 3]])

获取所有行,指定连续的列

print("=======================")
print(df.iloc[:, :2])

获取指定行,指定列

print("=======================")
print(df.iloc[[2, 5], [1, 3]])

总结

到此这篇关于python DataFrame中loc与iloc取数据的基本方法的文章就介绍到这了,更多相关python DataFrame loc与iloc取数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)

    pandas为我们提供了多种切片方法,而要是不太了解这些方法,就会经常容易混淆.下面举例对这些切片方法进行说明. 数据介绍 先随机生成一组数据: In [5]: rnd_1 = [random.randrange(1,20) for x in xrange(1000)] ...: rnd_2 = [random.randrange(1,20) for x in xrange(1000)] ...: rnd_3 = [random.randrange(1,20) for x in xrange(1

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

    pandas的DataFrame对象,本质上是二维矩阵,跟常规二维矩阵的差别在于前者额外指定了每一行和每一列的名称.这样内部数据抽取既可以用"行列名称(对应.loc[]方法)",也可以用"矩阵下标(对应.iloc[]方法)"两种方式进行. 下面具体说明: (以下程序均在Jupyter notebook中进行,部分语句的print()函数省略) 首先生成一个DataFrame对象: import pandas as pd score = [[34,67,87],[68

  • 详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)

    在操作DataFrame时,肯定会经常用到loc,iloc,at等函数,各个函数看起来差不多,但是还是有很多区别的,我们一起来看下吧. 首先,还是列出一个我们用的DataFrame,注意index一列,如下: 接下来,介绍下各个函数的用法: 1.loc函数 愿意看官方文档的,请戳这里,这里一般最权威. loc函数是基于"标签"选择数据的,但是也可以接受一个boolean的array,对于每个用法,我们从参数方面来一一举例: 1.1 单个label 接受一个"标签"(

  • python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现

    相信很多人像我一样在学习python,pandas过程中对数据的选取和修改有很大的困惑(也许是深受Matlab)的影响... 到今天终于完全搞清楚了!!! 先手工生出一个数据框吧 import numpy as np import pandas as pd df = pd.DataFrame(np.arange(0,60,2).reshape(10,3),columns=list('abc')) df 是这样子滴 那么这三种选取数据的方式该怎么选择呢? 一.当每列已有column name时,用

  • python DataFrame中loc与iloc取数据的基本方法实例

    目录 1.准备一组DataFrame数据 2.loc标签索引 2.1loc获取行 2.1.1loc获取一行 2.1.2loc获取多行 2.1.3loc获取多行(切片) 2.2loc获取指定数据(行&列) 3.iloc位置索引 3.1iloc获取行 3.1.1iloc获取单行 3.1.2iloc获取多行 3.2iloc获取指定数据(行&列)获取所有行,指定列 总结 关于python数据分析常用库pandas中的DataFrame的loc和iloc取数据 基本方法总结归纳及示例如下: 1.准备

  • Python Pandas中loc和iloc函数的基本用法示例

    目录 1 loc和iloc的含义 2 用法 2.1 loc函数的用法 2.2 iloc函数的用法 补充:Pandas中loc和iloc函数实例 总结 1 loc和iloc的含义 loc表示location的意思:iloc中的loc意思相同,前面的i表示integer,所以它只接受整数作为参数. 2 用法 import pandas as pd import numpy as np # np.random.randn(5, 2)表示返回5x2的矩阵,index表示行的编号,columns表示列的编

  • python之从文件读取数据到list的实例讲解

    背景: 文件内容每一行是由N个单一数字组成的,每个数字之间由制表符区分,比如: 0 4 3 1 2 2 1 0 3 1 2 0 -- 现在需要将每一行数据存为一个list,然后所有行组成一个大的list 工具: 1.strip():用于移除字符串头尾指定的字符,默认为空格,返回是字符串 2.split():通过指定分隔符对字符串进行切片,返回是字符串组成的list 实例: #!/usr/bin/python #coding=utf-8 def readfile(filename): with o

  • 在Python dataframe中出生日期转化为年龄的实现方法

    我们在做数据挖掘项目或大数据竞赛时,如果个体是人的时候,获得的数据中可能有出生日期的Series,举个简单例子,比如这样的一些数: # -*- coding: utf-8 -*- import pandas as pd from pandas import Series, DataFrame import numpy as np import seaborn as sns import matplotlib.pyplot as plt %matplotlib inline data = {'bi

  • python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

    目录 1.stack() 2. unstack() 3. pivot() 总结 1.stack() stack()用于将列索引转换为最内层的行索引,这样叙述比较抽象,看示例就容易理解啦: 准备一组数据,给其设置双索引. import pandas as pd data = [['A类', 'a1', 123, 224, 254], ['A类', 'a2', 234, 135, 444], ['A类', 'a3', 345, 241, 324], ['B类', 'b1', 112, 412, 46

  • Python中elasticsearch插入和更新数据的实现方法

    首先,我的索引结构是酱紫的. 存储以name_id为主键的索引,待插入或更新数据为: 一般会有有两种操作: 以下图片为个人见解,我没试过能不能直接运行,但形式上没错. 数据不存在,我需要插入地址为空字符串. 单条插入: 批量插入: 该数据存在,我需要更新地址字段为空字符串. 单条更新: 批量更新: 总结 以上所述是小编给大家介绍的Python中elasticsearch插入和更新数据的实现方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的! 您可能感兴趣的文章: 使用

  • Pandas过滤dataframe中包含特定字符串的数据方法

    假如有一列全是字符串的dataframe,希望提取包含特定字符的所有数据,该如何提取呢? 因为之前尝试使用filter,发现行不通,最终找到这个行得通的方法. 举例说明: 我希望提取所有包含'Mr.'的人名 1.首先将他们进行字符串化,并得到其对应的布尔值: >>> bool = df.str.contains('Mr\.') #不要忘记正则表达式的写法,'.'在里面要用'\.'表示 >>> print('bool : \n', bool) 2.通过dataframe的

  • python dataframe向下向上填充,fillna和ffill的方法

    首先新建一个dataframe: In[8]: df = pd.DataFrame({'name':list('ABCDA'),'house':[1,1,2,3,3],'date':['2010-01-01','2010-06-09','2011-12-03','2011-04-05','2012-03-23']}) In[9]: df Out[9]: date house name 0 2010-01-01 1 A 1 2010-06-09 1 B 2 2011-12-03 2 C 3 201

  • CI框架入门示例之数据库取数据完整实现方法

    本文实例讲述了CI框架入门示例之数据库取数据完整实现方法.是写给初学者看的,这是最简单可以调通的例子.分享给大家供大家参考.具体实现方法如下: 1.下载CI框架 2.配置 database.php配置: 为数据库服务器设置 connection 参数: 复制代码 代码如下: $db['default']['hostname'] = "your-db-host";  $db['default']['username'] = "your-username";  $db[

  • Python Dataframe 指定多列去重、求差集的方法

    1)去重 指定多列去重,这是在dataframe没有独一无二的字段作为PK(主键)时,需要指定多个字段一起作为该行的PK,在这种情况下对整体数据进行去重. Attention:主要用到了drop_duplicates方法,并设置参数subset为多个字段名构成的数组. 具体代码如下: >>>import pandas as pd >>>data={'state':[1,1,2,2,1,2,2],'pop':['a','b','c','d','b','c','d']} &

随机推荐