我有一个〜300K行和~40列的数据帧.我想知道是否有任何行包含空值 - 并将这些'null'行放入一个单独的数据帧中,以便我可以轻松地探索它们.
我可以明确地创建一个掩码:
mask = False
for col in df.columns:
mask = mask | df[col].isnull()
dfnulls = df[mask]
Run Code Online (Sandbox Code Playgroud)
或者我可以这样做:
df.ix[df.index[(df.T == np.nan).sum() > 1]]
Run Code Online (Sandbox Code Playgroud)
是否有一种更优雅的方式(找到包含空值的行)?
我自己找到了一种从熊猫数据帧中删除nan行的方法.给定一个包含nan值的dat列的数据框x,是否有一种更优雅的方法来删除列中的每个行dat都有一个nan值x?
dat = dat[np.logical_not(np.isnan(dat.x))]
dat = dat.reset_index(drop=True)
Run Code Online (Sandbox Code Playgroud) 我有一个数据框,其中有2个我要过滤的日期字段,并且当任何一个日期字段为null时都可以看到行。
ID Date1 Date2
58844880 04/11/16 NaN
59745846 04/12/16 04/14/16
59743311 04/13/16 NaN
59745848 04/14/16 04/11/16
59598413 NaN NaN
59745921 04/14/16 04/14/16
59561199 04/15/16 04/15/16
NaN 04/16/16 04/16/16
59561198 NaN 04/17/16
Run Code Online (Sandbox Code Playgroud)
它应该如下图所示
ID Date1 Date2
58844880 04/11/16 NaN
59743311 04/13/16 NaN
59598413 NaN NaN
59561198 NaN 04/17/16
Run Code Online (Sandbox Code Playgroud)
尝试过代码
df = (df['Date1'].isnull() | df['Date1'].isnull())