pandas中df.loc[:, 0:2]和df.iloc[:, 0:2]有什么区别?

这两个操作用于 Pandas 中的 DataFrame 对象,分别是基于标签和基于位置来选择 DataFrame 的子集。具体区别如下:

  • df.loc[:, 0:2]:基于标签(label-based),使用 loc[] 方法。它选取所有行(:)和前三列(0:2)的数据,并返回一个新的 DataFrame。这里的 0:2 表示从列标签为 0 的列开始,一直到列标签为 2 的列结束(包括第二列)。
  • df.iloc[:, 0:2]:基于位置(integer-based),使用 iloc[] 方法。它也选取所有行(:)和前三列(0:2)的数据,并返回一个新的 DataFrame。这里的 0:2 表示从第 0 列(第一列)开始,一直到第 1 列(第二列)结束(不包括第二列)。

因此,两者的区别在于选择列的方式不同,一个是通过列标签,一个是通过列位置。如果你的 DataFrame 是没有被重命名过的简单表格,则使用 df.iloc[:, 0:2] 更简单方便;而如果你的 DataFrame 中的列有特定的名称,则使用 df.loc[:, ‘col1’:‘col3’] 更方便,可以直接使用列名称进行选择。

猜你喜欢

转载自blog.csdn.net/weixin_44624036/article/details/130166845