【pandas小记】pandas选择数据
发布日期:2021-06-28 20:45:45 浏览次数:2 分类:技术文章

本文共 1703 字,大约阅读时间需要 5 分钟。

1.索引分类

1.1类型

索引类型 说明
整数索引 与数组的整数下标相同,从0开始到n-1,通过下标选择数据,可以使用切片的方式选择数据。
标签索引 参数index、columns中指定的名称,直接通过名称选择数据,也可以使用切片的方式选择数据。
布尔索引 这与numpy的索引方式相似,相当于选择满足条件的数据。

1.2 注意

1,若直接使用[ ]选择数据时,不能直接选择具体的元素。

用’column_name’,即列的轴标签选择列的数据。
用’index_sliceable’,即行的整数索引或标签索引的切片选择行数据。

import pandas as pdimport numpy as npframe = pd.DataFrame(np.arange(25).reshape((5, -1)),                     index=list('abcde'),                     columns=['one', 'two', 'three', 'four', 'five'])print(frame[['one', 'five']])  #用'column_name'print(frame[:3])   # 用'index_sliceable',index切片

至于为啥会是这样规定,debug了下,没看懂,但是看到这两句代码,有知道原因的可麻烦评论告诉我。

indexer = self.columns.get_loc(key)indexer = convert_to_index_sliceable(self, key)

2,在切片时,整数索引与标签索引的切片结果有差异

print(frame[:3])    #左闭右开"""   one  two  three  four  fivea    0    1      2     3     4b    5    6      7     8     9c   10   11     12    13    14"""print(frame[:'c'])    #左闭右闭"""   one  two  three  four  fivea    0    1      2     3     4b    5    6      7     8     9c   10   11     12    13    14"""

可以看出区别,用整数索引进行切片时,左边等于右边不等于,即是0<= index < 2,而使用标签索引则是’a’<= index<=‘c’。 所以需要注意这两种类型的索引使用。

2.loc和iloc

DataFrame可以使用loc和iloc来选择数据,而两者是根据“标签”或“整数”索引来选择的,

print(frame.loc['a':'c', :'three'])"""   one  two  threea    0    1      2b    5    6      7c   10   11     12"""print(frame.iloc[0:, :3])"""   one  two  threea    0    1      2b    5    6      7c   10   11     12d   15   16     17e   20   21     22"""

3.at和iat

与loc和iloc类似,都提供基于整数或者标签索引的查找。如果只需要获取或设置单个值时,可使用at和iat。

print(frame.at['a', 'three'])   #2print(frame.iat[0, 3])   #3frame.iat[0, 0] = 100   # 修改元素print(frame)

最后,正是由于pandas功能这么强大,整数索引和标签索引,将标签设置为整数时,就会造成歧义。所以,如果使用整数作为标签,那么在数据选择是使用loc 或者 iloc,这样可以明确知道使用的是哪种类型的索引,从而精确地选择数据。

转载地址:https://blog.csdn.net/yangjjuan/article/details/104741800 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【Oracle】浅析游标使用
下一篇:【pandas 小记】rename、reindex、set_index

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月11日 01时08分30秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

kotlin面试题!一口气拿了9家公司的offer,已拿offer入职 2019-04-29
retrofit优点,互联网寒冬公司倒闭后,年薪50W 2019-04-29
retrofit原理面试,Android性能优化最佳实践,面试必备 2019-04-29
【工作感悟】Android多进程从头讲到尾,offer拿到手软 2019-04-29
【微信小程序】面试一路绿灯Offer拿到手软,好文推荐 2019-04-29
Android之内存泄漏调试学习与总结,分享PDF高清版 2019-04-29
事件分发机制怎么回答,Android开发究竟该如何学习,使用指南 2019-04-29
事件分发机制流程图,带你全面理解View的绘制流程,附大厂真题面经 2019-04-29
Android最强进程保活黑科技实现原理解密及方法,含BATJM大厂 2019-04-29
Android最强进程保活黑科技实现原理解密及方法,帮你突破瓶颈 2019-04-29
Android架构师教你如何突破瓶颈,内含福利 2019-04-29
Android架构组件Room功能详解,全网独家首发! 2019-04-29
android查看网络请求和响应,我的移动开发春季历程,隔壁都馋哭了 2019-04-29
android移动开发,一线互联网大厂面试真题系统收录!大牛最佳总结 2019-04-29
Android程序员最大的悲哀是什么?Android岗 2019-04-29
Android组件化入门,重难点整理 2019-04-29
android设计模式原则,4个改变你编程技能的小技巧,手慢无 2019-04-29
Android跨进程通信导论,全网疯传 2019-04-29
想学IT的必看!我的Android美团求职之路,面试总结 2019-04-29
扫地阿姨看完都学会了!大厂offer手到擒来,经典好文 2019-04-29