Pandas中,`df[]`、`df.loc` 和 `df.iloc`区别


在Pandas中,df[]df.locdf.iloc 是用于访问DataFrame数据的三种主要方式。它们之间的区别主要体现在索引方式和功能上:

  1. df[]
  2. 索引方式:使用列名直接进行索引。
  3. 功能:主要用于获取或设置DataFrame的单列数据,返回一个Series对象。
  4. 示例series_A = df['A']

  5. df.loc

  6. 索引方式:基于标签(行标签和列标签)进行索引。
  7. 功能:可以同时使用行标签和列标签来选取数据,支持切片、布尔索引等复杂操作。
  8. 示例df.loc[0:1, :] 选取第0行到第1行的所有列数据;df.loc[df['B'] > 4, :] 选取'B'列值大于4的所有行。

  9. df.iloc

  10. 索引方式:基于整数位置(行号和列号)进行索引。
  11. 功能:可以同时使用行号和列号来选取数据,支持整数位置的切片操作,但不能使用标签名称。
  12. 示例df.iloc[0:2, :] 选取第0行到第2行的所有列数据;df.iloc[:, 0] 选取所有行的第0列数据。

总结来说,df[] 主要用于简单的列索引操作,df.loc 提供了基于标签的灵活索引方式,而 df.iloc 则提供了基于位置的精确索引方式。根据具体需求选择合适的方法可以更高效地处理数据。