DataFrame中loc、iloc、ix的区别

目录

  • iloc,loc的使用
    • loc的使用
      • 取值操作
      • 切片操作
    • iloc的使用

转载自「python」DataFrame中loc、iloc、ix的区别

iloc,loc的使用

在使用DataFrame数据类型的过程中,常要使用到iloc、loc、ix,总结一下三者的不同

import pandas as pd
data = pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]})

生成的data如下:

index A B C
0 1 4 7
1 2 5 8
2 3 6 9

loc的使用

取值操作

.loc[ ]中括号里面是先行后列,以逗号分隔,行和列分别是行标签和列标签,比如我要得到数字5,那么:

data.loc[1,'B']
  1. 如果这个DataFrame有index 值的话,也可以将index值放在第一个参数位,比如index=[a, b, c] ,那么 data.loc[‘b’,‘B’]也可以取出5
  2. 如果这个DataFrame的columns没有值得的话,data.loc[1,1]也可取出5

切片操作

data.loc[1:2,'B':'C']

总结:使用loc 时候,必须使用行或者列的name,如果行或列没有name,则可以使用其索引值,可以单独取值,可以做切片操作

iloc的使用

同loc一样,先行后列,不过不能使用行标签,只能使用行索引,和列索引来取数,或者进行切片操作,同样想取出5 的话,只能

data.iloc[1,1]

注意:

data.iloc[1:2,:]

切片data.iloc[1:2,:] 只能取出来行索引为1的行,而不能取2,
切片data.loc[1:2,:] 可以取出行索引为1,2的行

总结:使用iloc 时候,必须使用行或者列的索引,另外注意切片与loc的区别

你可能感兴趣的:(Python)