pandas条件复合筛选(多条件、与、或) |
您所在的位置:网站首页 › 多条件筛选统计 › pandas条件复合筛选(多条件、与、或) |
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 |