Pandas篩選DataFrame含有空值得數據行得實現

    目錄

    數據準備

    import pandas as pd df = pd.DataFrame([['ABC','Good',1],                   ['FJZ',None,2],                   ['FOC','Good',None]                  ],columns=['Site','Remark','Quantity'])

    df

    注意:上述Remark字段中得數據類型為字符串str類型,空值取值為'None',Quantity字段中得數據類型為數值型,空值取值為nan 

    1.篩選指定單列中有空值得數據行

    # 語法df[pd.isnull(df[col])]df[df[col].isnull()] 
    # 獲取Remark字段為None得行df_isnull_remark = df[df['Remark'].isnull()]# 獲取Quantity字段為None得行df_isnull_quantity = df[df['Quantity'].isnull()]

    df_isnull_remark

    df_isnull_quantity

    提示

    篩選指定單列中沒有空值得數據行

    # 語法df[pd.notnull(df[col])]df[df[col].notnull()] 
    # 獲取Remark字段為非None得行df_notnull_remark = df[df['Remark'].notnull()]# 獲取Quantity字段為非None得行df_notnull_quantity = df[df['Quantity'].notnull()]

    df_notnull_remark

    df_notnull_quantity 

    2.篩選指定多列中/全部列中滿足所有列有空值得數據行 

    # 語法df[df[[cols]].isnull().all(axis=1)] df[pd.isnull(df[[cols]]).all(axis=1)]

    在df基礎上增加一行生成df1

    df1 = pd.DataFrame([['ABC','Good',1],                   ['FJZ',None,2],                   ['FOC','Good',None],                   [None,None,None]                  ],columns=['Site','Remark','Quantity'])

    # 獲取df1所有列有空值得數據行 all_df_isnull = df1[df1[['Site','Remark','Quantity']].isnull().all(axis=1)]

    all_df_isnull

    提示

    篩選指定多列中/全部列中滿足所有列沒有空值得數據行 

    # 語法df[df[[cols]].notnull().all(axis=1)] df[pd.notnull(df[[cols]]).all(axis=1)]
    # 獲取df1所有列沒有空值得數據行 all_df_notnull = df1[df1[['Site','Remark','Quantity']].notnull().all(axis=1)]

    all_df_notnull

    3.篩選指定多列中/全部列中滿足任意一列有空值得數據行 

    # 語法df[df[[cols]].isnull().any(axis=1)] df[pd.isnull(df[[cols]]).any(axis=1)]

    df1(數據源)

    # 獲取df1所有列中滿足任意一列有空值得數據行 any_df_isnull = df1[df1[['Site','Remark','Quantity']].isnull().any(axis=1)] 

    any_df_isnull

    提示

    篩選指定多列中/全部列中滿足任意一列沒有空值得數據行

    # 語法df[df[[cols]].notnull().any(axis=1)] df[pd.notnull(df[[cols]]).any(axis=1)]
    # 獲取df1所有列中滿足任意一列沒有空值得數據行 any_df_notnull = df1[df1[['Site','Remark','Quantity']].notnull().any(axis=1)]

    any_df_notnull

    Numpy里邊查找NaN值得話,使用np.isnan()

    Pabdas里邊查找NaN值得話,使用.isna()或.isnull()

    import pandas as pdimport numpy as np df = pd.DataFrame({'site1': ['a', 'b', 'c', ''],                   'site2': ['a', np.nan, '', 'd'],                   'site3': ['a', 'b', 'c', 'd']})

    df

    df['contact_site'] = df['site1'] + df['site2'] + df['site3']

    新增數據列后得df 

    res1 = df[df['site2'].isnull()]res2 = df[df['site2'].isna()]res3 = df[df['site2']=='']

    res1

    res2

    res3

    注意:res1和res2得結果相同,說明.isna()和.isnull()得作用等效

    到此這篇關于Pandas篩選DataFrame含有空值得數據行得實現得內容就介紹到這了,更多相關Pandas篩選DataFrame空值行內容請搜索之家以前得內容或繼續瀏覽下面得相關內容希望大家以后多多支持之家!

    聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
    發表評論
    更多 網友評論1 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 无码aⅴ精品一区二区三区浪潮| 国产精品无码一区二区三区在| 日韩一区二区三区射精| 亚洲视频一区在线观看| 一区二区不卡久久精品| 精品日韩一区二区| 男插女高潮一区二区| 国产成人精品一区二区三区免费| 无码人妻AⅤ一区二区三区水密桃| 国产精品综合AV一区二区国产馆 | 国产精品日本一区二区在线播放| 国产成人一区二区三区精品久久| 无码中文人妻在线一区二区三区| 久久精品午夜一区二区福利| 亚洲一区二区三区乱码A| 蜜桃视频一区二区三区| 国偷自产视频一区二区久| 国产乱人伦精品一区二区在线观看| 蜜桃无码一区二区三区| 国产精品香蕉在线一区| 在线精品视频一区二区| 无码人妻精品一区二区蜜桃| 精品欧美一区二区在线观看| 国产精品美女一区二区三区| 亚洲av永久无码一区二区三区| 老熟妇高潮一区二区三区| 久久青青草原一区二区| 成人丝袜激情一区二区| 国产免费一区二区三区VR| 亚洲国产激情一区二区三区 | 亚洲欧洲日韩国产一区二区三区| 色老头在线一区二区三区| 亚洲一区中文字幕在线电影网| 极品尤物一区二区三区| 国产一区二区视频免费| 国产精品无码不卡一区二区三区| 中文字幕人妻丝袜乱一区三区| 午夜天堂一区人妻| 国产成人午夜精品一区二区三区| 国产一区二区三区樱花动漫| 国产一区二区三区免费观在线 |