pandas中df.iloc函数应用

匿名 (未验证) 提交于 2019-12-02 23:05:13

pandas.df.iloc函数

官方文档定义为“基于整数位置的索引,用于按位置进行选择。”

(官方文档http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html#pandas.DataFrame.iloc

啥意思呢,意思就是iloc函数只根据行列号对数据进行切片或选择,与loc函数不同,loc函数可以通过规定dataframe的列名进行选择,iloc函数则是“纯粹”按照数据位置进行数据索引,参数也都是对行列号或行列号的切片或行列号的其他函数操作。

这里就按照官方给的示例捋一下iloc函数的各种索引使用方法吧。

先写一个示例:

 import pandas as pd mydict = [{'a': 1, 'b': 2, 'c': 3, 'd': 4},           {'a': 100, 'b': 200, 'c': 300, 'd': 400},           {'a': 1000, 'b': 2000, 'c': 3000, 'd': 4000 }] df = pd.DataFrame(mydict) 

1、按行索引

(1)整数作为索引:df.iloc[n],默认查找第n行

 df.iloc[0]

(2)列表作为索引:查找列表中数字对应行号的数据,如,当输入[0,2]时,对应查找行号为0和2的数据,而不是0-2行

 df.iloc[[0,2]]

(3)切片作为索引:实现多行数据查找

 df.iloc[:2]#选择前两行数据

(4)布尔类型数据作为索引:需保持布尔类型数据与原数据数目一致,True代表选择,False代表不选择

 df.iloc[[True, False, True]]#选择了第一行和第三行数据

(5)表达式作为索引:

 df.iloc[lambda x: x.index % 2 == 0]#选择偶数行

2、同时规定行和列进行索引,与只按行索引类似,也有五种方式,在行和列之间添加“,”分别规定行列索引范围。

注意:规定的数字都是行列号,行列号均从0开始,行列号为行列数-1,即第1行第1列索引应为df.iloc[0,0]

 df.iloc[0, 1]#选择行号=0,列号=1的数据 df.iloc[[0, 2], [1, 3]]#选择行号为0和2,列号为1和3的数据 df.iloc[1:3, 0:3]#选择行号为1-2,列号为0-2的数据,注意切片范围为左闭右开 df.iloc[:, [True, False, True, False]]#行号全选,选择第1列和第3列数据 df.iloc[:, lambda df: [0, 2]]#选择dataframe的第1列与第3列

文章来源: https://blog.csdn.net/qq_37089628/article/details/87469403
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!