【问题标题】:pandas - why the outputs of iloc and loc are differentpandas - 为什么 iloc 和 loc 的输出不同
【发布时间】:2021-08-29 13:40:50
【问题描述】:
d1=df.loc[(df.Age<50) & (df.Age>10)]
d2=df[(df['Age']<50) & (df['Age']>10)]
d1 == d2

输出是:

当我使用 loc 和 iloc 过滤数据时,输出也不同:

d1.loc[[100]]

d1.iloc[[100], :]

参考这个answer,列夫说loc包括开始和结束索引,所以我尝试了这个:

d1.loc[[99], :]

但它们也不同。为什么?

有人可以帮我吗?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    loc 根据索引列过滤数据框。例如,当您调用df.loc[[100]] 时,它将返回具有index100 的行的内容。 iloc 根据位置过滤数据框。 df.iloc[[100]] 将返回数据框的 100th 行(编号从 0 开始)。如果100th 行的索引是100,那么df.iloc[[100]]df.loc[[100]] 将返回同一行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-21
      • 2015-10-14
      • 2018-02-20
      • 1970-01-01
      • 2021-08-15
      相关资源
      最近更新 更多