熊猫中的布尔索引

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

  • 创建数据字典。

  • 将其转换为带有布尔索引作为向量的DataFrame对象。

  • 现在,使用布尔索引访问数据。

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

示例

import pandas as pd
# data
data = {
   'Name': ['Hafeez', 'Srikanth', 'Rakesh'],
   'Age': [19, 20, 19]
}
# creating a DataFrame with boolean index vector
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

示例

# accessing using .iloc()
print(data_frame.iloc[1]) # iloc methods takes only integers so, we are passing 1 i
nsted of True. Both are same.

输出结果

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

Name Srikanth
Age 20
dtype: object

示例

# accessing using .ix[]
# we can pass both boolean or integer values to .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]
}
# creating a DataFrame with boolean index vector
data_frame = pd.DataFrame(data)
print(data_frame)

输出结果

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

      Name    Age
0   Hafeez    19
1 Srikanth    20
2   Rakesh    19

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

示例

# passing boolean vector to data_frame index
print(data_frame[[True, True, False]])

输出结果

如果运行上面的代码,您将得到以下结果。我们只有那一行是True。

      Name Age
0   Hafeez 19
1 Srikanth 20

结论

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