Python Dataframe获取每行的{Na}列

时间:2018-02-01 12:50:01

标签: python python-3.x pandas numpy dataframe

我有一个pandas数据框,如下所示:

  a          b       c     
 NaN         2       165     
 NaN         9       NaN     
 NaN         NaN     NaN    
  15        15       NaN      
   5         NaN     11 

我想添加一个列,它给出了类似Null值的摘要。所以我需要一个命令,它给出了列为NULL的每一行。像这样:

  a          b       c     Summary
 NaN         2       165      a
 NaN         9       NaN     a + c
 NaN         NaN     NaN    a + b + c
  15        15       NaN      c      
   5         NaN     11       b

我在网上找不到满足我需要的东西。

1 个答案:

答案 0 :(得分:0)

这是一种方式。

import pandas as pd
import numpy as np

df = pd.DataFrame([[np.nan, 2, 165], [np.nan, 9, np.nan], [np.nan, np.nan, np.nan],
                   [15, 15, np.nan], [5, np.nan, 11]], columns=['a', 'b', 'c'])

df['Errors'] = df.apply(lambda row: ' + '.join(i for i in ['a', 'b', 'c'] if np.isnan(row[i])), axis=1)