pandas 清洗技巧(条件筛选与过滤)

82 阅读1分钟

启动Jupyter notebook(因为jupyter是安装在虚拟环境中,所以每次使用该虚拟环境之前激活虚拟环境):

# 激活虚拟环境
source myenv/bin/activate

# 启动虚拟环境
jupyter notebook

正文

在数据清洗过程中,经常需要根据特定的条件对原数据进行筛选和过滤,移除不相关的数据,以便更好的汇总/分析数据。

单条件筛选

直接对 DataFrame 添加筛选条件,返回符合条件的行。

import pandas as pd

# 假设这是你的原始数据
data = {'name': ['Amy', 'Tom', 'Jack cat'], 
         'sex': ['女', '男', '男'],
         'age': [38, 26, 32]
       }

# 创建DataFrame
df = pd.DataFrame(data)

# 筛选出sex为男的行
df = df[df['sex'] == '男']

print(df)
       name sex  age
1       Tom   男   26
2  Jack cat   男   32

多条件筛选

多条件筛选需要用到逻辑操作符 与&或|

import pandas as pd

# 假设这是你的原始数据
data = {'name': ['Amy', 'Tom', 'Jack cat'], 
         'sex': ['女', '男', '男'],
         'age': [38, 26, 32]
       }

# 创建DataFrame
df = pd.DataFrame(data)

# 筛选出sex为男,并且age大于30的行
df = df[(df['sex'] == '男') & (df['age'] > 30)]

print(df)
      name sex  age
2  Jack cat   男   32