df.mask() 和df.where() 替換方法區別


具體用法詳情請看:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.mask.html

現在主要說一下區別:

where 是條件為False才替換,而mask是條件為True才替換

import pandas as pd
s = pd.Series(range(5))
'''
0    0
1    1
2    2
3    3
4    4
dtype: int64
'''
s.where(s>1)
'''
0    NaN
1    NaN
2    2.0
3    3.0
4    4.0
dtype: float64
'''
s.mask(s>1)
'''
0    0.0
1    1.0
2    NaN
3    NaN
4    NaN
dtype: float64
'''
s.where(s>1,10)
'''
0    10
1    10
2     2
3     3
4     4
dtype: int64
'''
s.mask(s>1,10)
'''
0     0
1     1
2    10
3    10
4    10
dtype: int64
'''

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM