pandas条件复合筛选(多条件、与、或)

您所在的位置:网站首页 多条件筛选统计 pandas条件复合筛选(多条件、与、或)

pandas条件复合筛选(多条件、与、或)

2023-12-24 19:53| 来源: 网络整理| 查看: 265

pandas条件复合筛选(多条件、与、或)

数据分析工作中,Python第三方包pandas功能非常强大,其组合筛选功能比excel速度快很多。这里记录一下pandas的组合筛选功能。

或筛选

或筛选使用的符号是"|"

举个例子:

import faker import pandas as pd # 生成假数据 fake = faker.Faker(locale='zh_CN') names = [] address = [] # province = [] city = [] job = [] for i in range(10000): names.append(fake.name()) address.append(fake.address()) # province.append(fake.province()) city.append(fake.city()) job.append(fake.job()) data = [[names[i], city[i], job[i]] for i in range(10000)] data = pd.DataFrame(data, columns=["姓名", "城市", "职业"]) # 或筛选实例 select_or = data[(data["城市"] == "北京市") | (data["城市"] == "上海市")]

这样可以筛选出北京和上海的人员信息,前五行如下:

姓名 城市 职业 9 廖杨 上海市 活动执行 79 高楠 上海市 其他语种翻译 243 封桂香 上海市 财务助理/文员 329 杨刚 北京市 标准化工程师 473 黄军 北京市 电信交换工程师

上面这种情况适用于条件比较少的筛选,条件和条件之间需要使用括号,因为"|“优先级高于”=="

如果条件比较多,比如需要选择100个城市,该怎么选,可以参考下面的方法:

select_city = ["上海市", "天津市", "北京市", "重庆市"] df = pd.DataFrame(columns=data.columns) for i in select_city: df = df.append(data[data["城市"] == i])

把条件放入列表中(select_city),然后循环生成新的dataframe,依次append即可

与筛选

与筛选用到的情况比或筛选多,使用"&"符号

举个例子:

select_and = data[(data["城市"] == "北京市") & (data["职业"] == "科研")] print(select_and) """ 姓名 城市 职业 608 李平 北京市 科研 """

更多条件的与筛选后面再记录吧



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3