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 |
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
