Python 中的布尔索引

pythonserver side programmingprogramming

布尔值(如 True & false 和 1&0)可用作 panda 数据框中的索引。它们可以帮助我们筛选出所需的记录。在下面的示例中,我们将看到可用于执行布尔索引操作的不同方法。

创建布尔索引

让我们考虑一个描述游戏数据的数据框。字典中提到了不同日子获得的各种分数。然后我们可以使用 True 和 False 作为索引值在数据框上创建索引。然后我们可以打印最终的数据框。

示例

import pandas as pd
# dictionary
game = {'Day':["Monday","Tuesday","Wednesday","Thursday","Friday"], 'points':[31,24,16,11,22]}
df = pd.DataFrame(game,index=[True,False,True,False,True])
print(df)

运行上述代码得到以下结果

输出

               Day       points
True        Monday           31
False      Tuesday           24
True     Wednesday           16
False     Thursday           11
True        Friday           22

使用 .loc[]

此函数可用于过滤具有特定布尔值的记录。在下面的示例中,我们可以看到仅获取布尔值为 True 的记录。

示例

import pandas as pd
# dictionary
game = {'Day':["Monday","Tuesday","Wednesday","Thursday","Friday"], 'points':[31,24,16,11,22]}
df = pd.DataFrame(game,index=[True,False,True,False,True])
#print(df)
print(df.loc[True])

运行上述代码得到以下结果

输出

              Day           points
True       Monday       31
True    Wednesday       16
True       Friday       22

使用 .ix[]

在此方法中,我们还使用整数作为布尔值。因此,我们将数据框中的 True 和 False 值更改为 1 和 0。然后使用它们来筛选出记录。

示例

import pandas as pd
# dictionary
game = {'Day':["Monday","Tuesday","Wednesday","Thursday","Friday"], 'points':[31,24,16,11,22]}
df = pd.DataFrame(game,index=[1,1,0,0,1])
#print(df)
print(df.ix[0])

运行上述代码得到以下结果:

输出

        Day points
0 Wednesday     16
0 T hursday     11

相关文章