Pandas中的布尔索引
布尔索引帮助我们使用布尔向量从数据框中选择数据。我们需要一个具有布尔索引的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。让我们看一下它们并了解一下具体用法。
示例
# 使用 .loc() 访问
print(data_frame.loc[True])
输出
如果运行上面的代码,将获得以下结果。
Name Age
True Hafeez 19
True Rakesh 19
示例
# 使用 .iloc() 访问
print(data_frame.iloc[1])# iloc方法只能使用数字,因此,我们在True的位置传递1。它们都是一样的。
输出
如果运行上面的代码,将获得以下结果。
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 Age
False Srikanth 20
布尔索引的另一种方式是直接将布尔向量传递给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以访问数据。
示例
# 将布尔向量传递给data_frame索引
print(data_frame[[True, True, False]])
输出
如果运行上面的代码,将获得以下结果。我们只得到了值为 True 的行。
Name Age
0 Hafeez 19
1 Srikanth 20
结论
如果您对布尔索引有任何疑问,请在评论部分提出。