Python Pandas中loc和iloc的用法

作者:半吊子全栈工匠2024.01.17 20:58浏览量:22

简介:在Python的Pandas库中,loc和iloc是用于选择数据的主要方法。本文将通过实例详细介绍这两种方法的使用方法。

Pandas是Python中用于数据处理和分析的强大库。在Pandas中,DataFrame是最常用的数据结构,用于存储和操作表格型数据。为了从DataFrame中选择数据,Pandas提供了loc和iloc两种方法。这两种方法虽然功能相似,但在实际使用中存在一些差异。
loc
loc方法基于标签进行数据选择。它通过行标签和列标签来定位数据。以下是一个简单的示例:

  1. import pandas as pd
  2. # 创建一个简单的DataFrame
  3. data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
  4. df = pd.DataFrame(data)
  5. # 使用loc选择第1行和第2行
  6. selected_rows = df.loc[[0, 1]]
  7. # 使用列标签选择'A'列和'B'列
  8. selected_columns = df.loc[:, ['A', 'B']]

在这个例子中,df.loc[[0, 1]]选择了第1行和第2行,df.loc[:, ['A', 'B']]选择了’A’列和’B’列。注意,在loc方法中,行标签和列标签都是字符串类型。
iloc
iloc方法基于整数位置进行数据选择。它通过行位置和列位置来定位数据。以下是一个简单的示例:

  1. import pandas as pd
  2. # 创建一个简单的DataFrame
  3. data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
  4. df = pd.DataFrame(data)
  5. # 使用iloc选择第1行和第2行(位置0和位置1)
  6. selected_rows = df.iloc[[0, 1]]
  7. # 使用iloc选择第1列和第2列(位置0和位置1)
  8. selected_columns = df.iloc[:, [0, 1]]

在这个例子中,df.iloc[[0, 1]]选择了第1行和第2行,df.iloc[:, [0, 1]]选择了第1列和第2列。注意,在iloc方法中,行位置和列位置都是整数类型。
总结
在实际使用中,loc方法更加直观和易读,因为它基于标签进行选择。然而,当处理大型数据集时,使用iloc方法可能会更高效,因为它基于整数位置进行选择,不需要在标签和位置之间进行转换。同时,iloc方法在处理缺失数据时也更加可靠。因此,在选择使用loc还是iloc时,需要根据具体情况进行权衡。同时,结合使用这两种方法,可以实现更复杂的数据选择和筛选任务。在熟练掌握这两种方法的基础上,可以进一步提高在Pandas中进行数据分析和处理的能力。