loc是根据dataframe的具体标签选取列,而iloc是根据标签所在的位置,从0开始计数。
In [1]: df = DataFrame(randn(5,2),index=range(0,10,2),columns=list('AB'))
In [2]: df
Out[2]:
A B
0 1.068932 -0.794307
2 -0.470056 1.192211
4 -0.284561 0.756029
6 1.037563 -0.267820
8 -0.538478 -0.800654
In [5]: df.iloc[[2]]
Out[5]:
A B
4 -0.284561 0.756029
In [6]: df.loc[[2]]
Out[6]:
A B
2 -0.470056 1.192211
二、选取标签为C并且只取前两行,选完类型还是dataframe
df = df.loc[0:2, ['A', 'C']]
df = df.iloc[0:2, [0, 2]]
三/df.iloc[0]---代表选第一行
df.iloc[0][0]--代表选第一行第一列
6 总结
- 无论是iloc还是loc 均采用[]而不是括号
- 如果只是取行 建议用iloc 因为比较简单
- 如果列和行同时取 建议采用loc 因为可以直接定义到标签