【问题标题】:Pandas, return df for which values of a certain column is null熊猫,返回某个列的值为空的df
【发布时间】:2017-01-06 10:57:50
【问题描述】:

我正在从 SQL 代码将其移至 python,我有一个 WHERE 条件,说明点在哪里是 NULL

我需要打印我的数据框,数据,这样一列有问题的点,包含所有空值

例如。

name:    age:    points:
Sean     12      3
Jack     14      0
Peter    11      2
David    16      0
Paul     15      0

我希望它返回这个:

name:    age:
Jack     14
David    16
Paul     15

任何帮助表示赞赏

【问题讨论】:

    标签: python sql pandas dataframe null


    【解决方案1】:

    如果需要过滤器,请使用boolean indexing0 的值在哪里:

    df = pd.DataFrame({'points': {0: 3, 1: 0, 2: 2, 3: 0, 4: 0}, 
                       'name': {0: 'Sean', 1: 'Jack', 2: 'Peter', 3: 'David', 4: 'Paul'},
                       'age': {0: 12, 1: 14, 2: 11, 3: 16, 4: 15}})    
    print (df)
       age   name  points
    0   12   Sean       3
    1   14   Jack       0
    2   11  Peter       2
    3   16  David       0
    4   15   Paul       0
    
    df1 = df.ix[df.points == 0,['name','age']]
    print (df1)
        name  age
    1   Jack   14
    3  David   16
    4   Paul   15
    

    如果值为NaN:

    df = pd.DataFrame({'points': {0: 3, 1: np.nan, 2: 2, 3: np.nan, 4: np.nan}, 
                       'name': {0: 'Sean', 1: 'Jack', 2: 'Peter', 3: 'David', 4: 'Paul'},
                       'age': {0: 12, 1: 14, 2: 11, 3: 16, 4: 15}})    
    print (df)
       age   name  points
    0   12   Sean     3.0
    1   14   Jack     NaN
    2   11  Peter     2.0
    3   16  David     NaN
    4   15   Paul     NaN
    
    df1 = df.ix[df.points.isnull(),['name','age']]
    print (df1)
        name  age
    1   Jack   14
    3  David   16
    4   Paul   15
    

    【讨论】:

    • 请检查编辑,我添加了0NaN过滤的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 2021-01-10
    • 1970-01-01
    • 2019-03-14
    • 2018-07-14
    相关资源
    最近更新 更多