pandas loc的指定条件索引(布尔索引)

pandas中的loc不仅仅可以用于直接的标签的索引,也可以用于指定条件的索引。

python pandas loc 布尔索引示例说明

1.准备数据

首先准备一组数据:

import pandas as pd
df = pd.DataFrame({
    'AAA': [120, 101, 106, 117, 114, 122],
    'BBB': [115, 100, 110, 125, 123, 120],
    'CCC': [109, 112, 125, 120, 116, 115],
    'DDD': 'ABCDEFG'
}, index=[1, 2, 3, 4, 5, 6])
print(df)

python pandas loc 布尔索引示例说明

2.单条件筛选

以筛选出其中字段”AAA”大于110的为例:

print(df)
print("=======================")
print(df.loc[df['AAA'] > 110])  # "AAA"大于100的

python pandas loc 布尔索引示例说明

深入分析,我们可以看出,loc后传入的是一个Values为bool类型数据的Series,且其长度与原DataFrame的行数相等。

print(df['AAA'] > 110)
print(type(df['AAA'] > 110))  # Series类型,Values为bool类型

python pandas loc 布尔索引示例说明

3.多条件筛选

loc也可以同时传入多个筛选条件, 以筛选字段”AAA”大于110且字段”CCC”大于115的数据为例:

print("=======================")
print(df.loc[(df['AAA'] > 110) & (df['CCC'] > 115)])

python pandas loc 布尔索引示例说明

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。