熊猫切片符号更好

时间:2020-07-03 05:58:46

标签: python pandas numpy

基本上我想知道两者之间的区别:

data.iloc[0:2]

data[0:2]

这两个熊猫数据框都不都是。返回相同的信息?我使用的一个有关系吗?

1 个答案:

答案 0 :(得分:0)

当您的DataFrame的索引与位置不同时,它们可以不同。 iloc基于绝对位置,就像Python中的list一样。 loc基于DataFrame的索引。

例如,如果我们有此DataFrame:

df = pd.DataFrame([['a'], ['b'], ['c'], ['d']], index=[1, 2, 3, 4])
df
    0
1   a
2   b
3   c
4   d

iloc将为您提供基于位置的切片,而不是df的索引。请注意,它不包括最后一个位置。

data.iloc[1:3]
    0
2   b
3   c

相反,loc将为您提供基于索引的切片。请注意,这包括给定切片的最后一个索引。

data.loc[1:3]
    0
1   a
2   b
3   c

有关更多详细信息,请参阅this page