2017-10-16 3 views
0

ExcelシートとPythonに問題があります。私は正常にパンダによってExcelで特定の列と行を取得しました。今私は、 "なし"または "空"の値を持つ行と列のみを表示したい。 Excelシートのサンプル画像enter image description hereExcelシートのnoneセルをpythonで表示するには

上記の画像では、値がnoneの行と列が必要です。たとえば、 "estfix"の列にはいくつかのnone値があるので、列の値をチェックする必要があります。それがない場合は、対応する行と列を出力する必要があります。あなたが理解したいと思っています。

コードは、私が試した:私のpython 3.6を使用してい

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) 

。前もって感謝します!私はこのような出力を期待

:ナンここenter image description here

はなしと考えるです。

答えて

1

チェック少なくとも一つの真のためanyで使用isnull:行と列の場合

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 
関連する問題