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