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