Python中的布尔索引

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

创建布尔索引

让我们考虑一个描述游戏数据的数据帧。字典中提到了在不同日期得分的各种分数。然后,我们可以使用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