python的pandas包数据框单层索引操作核心方法loc,iloc,ix,query

使用python3,软件为ipython notebook

pandas包不是python自带的包,需要我们手动载入

import pandas as pd

利用pandas简单创建一个数据框

df = pd.DataFrame([[0,1,2,3,4,5],[10,11,12,13,14,15],[20,21,22,23,24,25],[30,31,32,33,34,35],[40,41,42,43,44,45],[50,51,52,53,54,55]],columns=['a', 'b', 'c', 'd', 'e','f'])

输出结果


1.loc[]


这个索引方法是基于索引名字来搜索,使用方法如下:
- 输入单独的索引名

df.loc[5]

就会索引出列名为5的那一

  • 输入索引名的列表
df.loc[[1,3,5]]

索引结果

  • 输入slice
df.loc[[1,3,5]]

输出结果

  • 输入带有一个参数的`callable“function
df.loc[df['a']<30,'grade']='L'
df

输出结果

  • 输入行与列
df.loc[1,'a']

10


2. iloc[]


iloc与loc的用法相同,只是loc是使用索引名称,而iloc是使用索引位置


3.ix


ix可以称为iloc和loc的混合体,也就是说它可以支持iloc的位置索引和loc的名称索引的任意输入,不过名称索引的优先级在位置索引之前。看下面一个列子,你就会知道如何使用.ix索引方法了。

df.ix[[1,2,0],[1,5]]

输出结果

df.ix[[1,2,0],['b','f']]

输出结果
会发现两种代码的输出结果都一样,区别是第一种的第二个选项是使用了位置索引,而第二种的第二个选项是使用了名称索引。



4.query



查询带有布尔值表达式的数据框的列

ls=[[1,5],[2,4],[3,3],[4,2],[5,1]]
lt=['n','m']
df=pd.DataFrame(ls,columns=lt)
df

输出结果

df.query('n>m')

输出结果
输出了符合n>m的结果。这就是query的简单用法。
以上四种方法就是单层索引操作比较常用的方法。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值