replace value by using regex to np.nan

前端 未结 2 1377
星月不相逢
星月不相逢 2020-12-04 02:15

I have a dataframe as below :

data1 = {\"first\":[\"alice\", \"bob\", \"carol\"],
         \"last_huge\":[\"foo\", \"bar\", \"baz\"]}
df = pd.DataFrame(data         


        
相关标签:
2条回答
  • 2020-12-04 02:46

    NaN is consistently used as a placeholder for missing, when replacing part of a string with "missing" it can only mean the entire entry is compromised. I've heard this called NaN pollution (or similar, will see if I can find some references), in that if NaN touches the data is compromised.

    That said, that's not always the case:

    In [11]: s = pd.Series([1, 2, np.nan, 4])
    
    In [12]: s.sum()
    Out[12]: 7.0
    
    In [13]: s.sum(skipna=False)
    Out[13]: nan
    

    In some languages you'll see skipna=False as the default behaviour, some vehemently argue that NaN should always pollute all data. Pandas takes a somewhat more pragmatic approach...

    The real question is what do you expect it to do in the case of NaN?

    0 讨论(0)
  • In python there are cmath.nan and math.nan.

    CPython implementation detail: The math module consists mostly of thin wrappers around the platform C math library functions. Behavior in exceptional cases follows Annex F of the C99 standard where appropriate. The current implementation will raise ValueError for invalid operations like sqrt(-1.0) or log(0.0) (where C99 Annex F recommends signaling invalid operation or divide-by-zero), and OverflowError for results that overflow (for example, exp(1000.0)). A NaN will not be returned from any of the functions above unless one or more of the input arguments was a NaN; in that case, most functions will return a NaN, but (again following C99 Annex F) there are some exceptions to this rule, for example pow(float('nan'), 0.0) or hypot(float('nan'), float('inf')).

    In short word, when your input arguments have NaN it would return NaN

    And also:

    Note that Python makes no effort to distinguish signaling NaNs from quiet NaNs, and behavior for signaling NaNs remains unspecified. Typical behavior is to treat all NaNs as though they were quiet.

    0 讨论(0)
提交回复
热议问题