Python 布尔索引
布尔值,例如 True & False 和 1 & 0,可以用作 Pandas DataFrame 的索引。它们可以帮助我们筛选所需的记录。在下面的示例中,我们将看到执行布尔索引操作的不同方法。
创建布尔索引
让我们考虑一个 DataFrame,其中描述了游戏数据。不同日期的各种得分在一个字典中提到。然后,我们可以使用 True 和 False 作为索引值在 DataFrame 上创建一个索引。然后我们可以打印最终的 DataFrame。
示例
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[]
在此方法中,我们还使用整数作为布尔值。因此,我们将 DataFrame 中的 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
广告