📅  最后修改于: 2023-12-03 15:39:59.984000             🧑  作者: Mango
在Python中,当我们有一个包含多个公司信息的数据框时,我们可能需要筛选出除了某些公司之外的其他所有公司。本文将介绍如何使用Python进行筛选操作。
假设我们有一个名为company_data
的数据框,它包含三列:公司名称
、行业
和注册资本
。我们可以用以下代码生成这个数据框:
import pandas as pd
data = {'公司名称': ['A公司', 'B公司', 'C公司', 'D公司', 'E公司'],
'行业': ['互联网', '教育', '金融', '医疗', '科技'],
'注册资本': [1000, 2000, 3000, 4000, 5000]}
company_data = pd.DataFrame(data)
这个数据框长这样:
| | 公司名称 | 行业 | 注册资本 | |---:|:---------|:------|--------:| | 0 | A公司 | 互联网 | 1000 | | 1 | B公司 | 教育 | 2000 | | 2 | C公司 | 金融 | 3000 | | 3 | D公司 | 医疗 | 4000 | | 4 | E公司 | 科技 | 5000 |
现在我们有一个列表,列表中包含我们想要保留的公司名称。如果我们想要筛选掉这些公司之外的所有公司,我们可以使用~
和isin
运算符。这里的~
表示取非,isin
表示测试某个元素是否包含在指定列表中。以下代码展示了如何将company_data
数据框中公司名称非A公司
和C公司
的所有行筛选出来:
keep_companies = ['A公司', 'C公司']
new_company_data = company_data[~company_data['公司名称'].isin(keep_companies)]
这个新的数据框长这样:
| | 公司名称 | 行业 | 注册资本 | |---:|:---------|:------|--------:| | 1 | B公司 | 教育 | 2000 | | 3 | D公司 | 医疗 | 4000 | | 4 | E公司 | 科技 | 5000 |
在Python中,我们可以使用~
和isin
运算符对数据框进行筛选和过滤,以保留我们想要的行。这里提供的代码提供了一个例子,展示了如何选出数据框中除了某些公司之外的所有公司。