【问题标题】:To display the none cell in the excel sheet by python通过python在excel工作表中显示无单元格
【发布时间】:2017-10-16 11:19:17
【问题描述】:

我正在处理 Excel 工作表和 python 的问题。我已经通过 pandas 成功检索了 Excel 中的特定列和行。现在我只想显示具有“无”或“空”值的行和列。 excel表格样张

在上图中,我需要值为 none 的行和列。例如,在“estfix”列中有几个无值,所以我需要检查列值,如果它没有,我需要打印它对应的行和列。希望你能理解。

我试过的代码:

import pandas as pd
wb= pd.ExcelFile(r"pathname details.xlsx")
sheet_1=pd.read_excel(r"pathname details.xlsx",sheetname=0)

c=sheet_1[["bugid","sev","estfix","manager","director"]]
print(c)

我正在使用 python 3.6。提前致谢!

我期待这样的输出:

这里 Nan 被认为是 None。

【问题讨论】:

    标签: python python-3.x pandas openpyxl xlrd


    【解决方案1】:

    使用isnullany 来检查至少一个True:

    a = df[df.isnull().any(axis=1)]
    

    对于有行的列:

    b = df.loc[df.isnull().any(axis=1), df.isnull().any()]
    

    示例:

    df = pd.DataFrame({'A':list('abcdef'),
                       'B':[4,np.nan,4,5,5,4],
                       'C':[7,8,9,4,2,3],
                       'D':[1,3,np.nan,7,1,0],
                       'E':[5,3,6,9,2,4],
                       'F':list('aaabbb')})
    
    print (df)
       A    B  C    D  E  F
    0  a  4.0  7  1.0  5  a
    1  b  NaN  8  3.0  3  a
    2  c  4.0  9  NaN  6  a
    3  d  5.0  4  7.0  9  b
    4  e  5.0  2  1.0  2  b
    5  f  4.0  3  0.0  4  b
    
    a = df[df.isnull().any(1)]
    print (a)
       A    B  C    D  E  F
    1  b  NaN  8  3.0  3  a
    2  c  4.0  9  NaN  6  a
    
    b = df.loc[df.isnull().any(axis=1), df.isnull().any()]
    print (b)
         B    D
    1  NaN  3.0
    2  4.0  NaN
    

    详情:

    print (df.isnull())
           A      B      C      D      E      F
    0  False  False  False  False  False  False
    1  False   True  False  False  False  False
    2  False  False  False   True  False  False
    3  False  False  False  False  False  False
    4  False  False  False  False  False  False
    5  False  False  False  False  False  False
    
    print (df.isnull().any(axis=1))
    0    False
    1     True
    2     True
    3    False
    4    False
    5    False
    dtype: bool
    
    print (df.isnull().any())
    A    False
    B     True
    C    False
    D     True
    E    False
    F    False
    dtype: bool
    

    【讨论】:

      猜你喜欢
      • 2014-01-15
      • 2021-11-07
      • 1970-01-01
      • 2013-03-10
      • 2014-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      相关资源
      最近更新 更多