Pandas 中的布尔索引

pythonserver side programmingprogrammingpandas

布尔索引帮助我们使用布尔向量从 DataFrames 中选择数据。我们需要一个具有布尔索引的 DataFrame 来使用布尔索引。让我们看看如何实现布尔索引。

  • 创建数据字典。
  • 将其转换为具有布尔索引作为向量的 DataFrame 对象。
  • 现在,使用布尔索引访问数据。

请参阅下面的示例以了解。

示例

import pandas as pd
# data
data = {
   "Name": ["Hafeez", "Srikanth", "Rakesh"],
   "Age": [19, 20, 19]
}
# 使用布尔索引向量创建 DataFrame
data_frame = pd.DataFrame(data, index = [True, False, True])
print(data_frame)

输出

如果你运行上述程序,你将得到以下结果。

          Name   Age
True    Hafeez   19
False Srikanth   20
True    Rakesh   19

现在,我们可以通过将布尔值传递给方法 loc[]、iloc[]、ix[] 来访问 DataFrame。让我们来看看它们全部。

示例

# accessing using .loc()
print(data_frame.loc[True])

输出

如果运行上面的代码,你会得到以下结果。

       Name  Age
True Hafeez   19
True Rakesh   19

示例

# 使用 .iloc() 访问
print(data_frame.iloc[1]) # iloc 方法只接受整数,因此我们传递 1 i
nsted of True. Both are same.

输出

如果运行上面的代码,你会得到以下结果。

Name Srikanth
Age 20
dtype: object

示例

# 使用 .ix[] 访问
# 我们可以将布尔值或整数值传递给 .ix[]
print(data_frame.ix[True])
print()
print(data_frame.ix[1])

输出

如果运行上述代码,您将获得以下结果。

         Name Age
True   Hafeez 19
True   Rakesh 19

Name   Srikanth
Age       20
dtype: object

使用布尔索引的另一种方法是直接将布尔向量传递给 DataFrame。它将打印所有值为 True 的行。让我们看一个例子。

示例

import pandas as pd
# data
data = {
   'Name': ['Hafeez', 'Srikanth', 'Rakesh'],
   'Age': [19, 20, 19]
}
# 使用布尔索引向量创建 DataFrame
data_frame = pd.DataFrame(data)
print(data_frame)

输出

如果运行上述代码,您将获得以下结果。

      Name    Age
0   Hafeez    19
1 Srikanth    20
2   Rakesh    19

现在,我们可以将布尔向量传递给 DataFrame 来访问数据。

示例

# 将布尔向量传递给 data_frame 索引
print(data_frame[[True, True, False]])

输出

如果运行上述代码,您将获得以下结果。我们只得到了 True 的行。>

      Name Age
0   Hafeez 19
1 Srikanth 20

结论

如果您对布尔索引有任何疑问,请在评论部分告诉我。


相关文章