pandas筛选NULL不参与比较方式
作者:nieksa_reverse
筛选时忽略null值,即使null不等于2,但null在比较中被视为不匹配,故输出Mark,正常选择则输出所有name:Will、Jane、Bill、Zack,此为个人经验分享
举例
id | name | referee_id |
---|---|---|
1 | Will | null |
2 | Jane | null |
3 | Alex | 2 |
4 | Bill | null |
5 | Zack | 1 |
6 | Mark | 2 |
1.null值被忽略
import pandas as pd def find_customer_referee(customer: pd.DataFrame) -> pd.DataFrame: pd = customer[customer['referee_id'] != 2] pd = pd[['name']] return pd
- 输出
name |
---|
Mark |
虽然这里null值也不等于2,但是在进行筛选是,会忽略null
2.正常选择
import pandas as pd def find_customer_referee(customer: pd.DataFrame) -> pd.DataFrame: pd = customer[(customer['referee_id'] != 2) | (customer['referee_id'].isna())] pd = pd[['name']] return pd
- 输出
name |
---|
Will |
Jane |
Bill |
Zack |
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。