return default if pandas dataframe.loc location doesn't exist

后端 未结 2 591
我寻月下人不归
我寻月下人不归 2021-02-11 14:35

I find myself often having to check whether a column or row exists in a dataframe before trying to reference it. For example I end up adding a lot of code like:

         


        
2条回答
  •  挽巷
    挽巷 (楼主)
    2021-02-11 14:46

    There is a method for Series:

    So you could do:

    df.mycol.get(myIndex, NaN)
    

    Example:

    In [117]:
    
    df = pd.DataFrame({'mycol':arange(5), 'dummy':arange(5)})
    df
    Out[117]:
       dummy  mycol
    0      0      0
    1      1      1
    2      2      2
    3      3      3
    4      4      4
    
    [5 rows x 2 columns]
    In [118]:
    
    print(df.mycol.get(2, NaN))
    print(df.mycol.get(5, NaN))
    2
    nan
    

提交回复
热议问题