Pandas - find first non-null value in column

前端 未结 3 1414
清酒与你
清酒与你 2020-12-14 06:39

If I have a series that has either NULL or some non-null value. How can I find the 1st row where the value is not NULL so I can report back the datatype to the user. If th

3条回答
  •  囚心锁ツ
    2020-12-14 07:28

    You can use first_valid_index with select by loc:

    s = pd.Series([np.nan,2,np.nan])
    print (s)
    0    NaN
    1    2.0
    2    NaN
    dtype: float64
    
    print (s.first_valid_index())
    1
    
    print (s.loc[s.first_valid_index()])
    2.0
    
    # If your Series contains ALL NaNs, you'll need to check as follows:
    
    s = pd.Series([np.nan, np.nan, np.nan])
    idx = s.first_valid_index()  # Will return None
    first_valid_value = s.loc[idx] if idx is not None else None
    print(first_valid_value)
    None
    

提交回复
热议问题