对pandas中iloc,loc取数据差别及按条件取值的方法详解

yipeiwu_com6年前Python基础

Dataframe使用loc取某几行几列的数据:

print(df.loc[0:4,['item_price_level','item_sales_level','item_collected_level','item_pv_level']])

结果如下,取了index为0到4的五行四列数据。

  item_price_level item_sales_level item_collected_level item_pv_level
0     3     3      4    14
1     3     3      4    14
2     3     3      4    14
3     3     3      4    14
4     3     3      4    14

而使用iloc,如下所示:

print(df.iloc[0:4,6:9])

结果如下,取得是index为0到3四行,以及第6到8列(从0列开始)3列数据。

  item_price_level item_sales_level item_collected_level
0     3     3      4
1     3     3      4
2     3     3      4
3     3     3      4

另外loc可以按条件取数据:

print(df.loc[df.item_price_level==0,:])
print(df.loc[df[item_price_level]==0,:])

上面两条语句效果是一样的,都是取item_price_level为0的所有数据。可以把冒号改成几列列名,只取满足条件的某几列数据:

print(df.loc[df['item_price_level']==0,['item_price_level','item_sales_level']])

结果前两行如下:

   item_price_level item_sales_level
129141     0    10
129142     0    10

条件为多个时 (同时满足两个条件如下):

print(df.loc[(item_price_level==0) & (item_sales_level==3),:])
 

以上这篇对pandas中iloc,loc取数据差别及按条件取值的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】

本文实例讲述了Python tensorflow实现mnist手写数字识别。分享给大家供大家参考,具体如下: 非卷积实现 import tensorflow as tf from t...

Django认证系统实现的web页面实现代码

结合数据库、ajax、js、Djangoform表单和认证系统的web页面 一:数据模块 扩展了Django中的user表,增加了自定义的字段 from django.db imp...

Python使用Turtle库绘制一棵西兰花

Turtle库是Python中一个强大的绘制图像的函数库,灵活使用Turtle库可以绘制各种好看的图像。 下面介绍使用Turtle库绘制一棵西兰花。 绘制一棵西兰花,从主干出发以一定的角...

教你用Type Hint提高Python程序开发效率

简介 Type Hint(或者叫做PEP-484)提供了一种针对Python程序的类型标注标准。 为什么使用Type Hint?对于动态语言而言,常常出现的情况是当你写了一段代码后,隔段...

pandas数据框,统计某列数据对应的个数方法

pandas数据框,统计某列数据对应的个数方法

现在要解决的问题如下: 我们有一个数据的表 第7列有许多数字,并且是用逗号分隔的,数字又有一个对应的关系: 我们要得到第7列对应关系的统计,就是每一行的第7列a有多少个,b有多少个...