如何删除某些列中的值为NaN的Pandas DataFrame行
问题描述:
我有一个 DataFrame
:
>>> df
STK_ID EPS cash
STK_ID RPT_Date
601166 20111231 601166 NaN NaN
600036 20111231 600036 NaN 12
600016 20111231 600016 4.3 NaN
601009 20111231 601009 NaN NaN
601939 20111231 601939 2.5 NaN
000001 20111231 000001 NaN NaN
然后我只是希望 EPS
不是 NaN
的记录,即 df.drop(.. ..)
将返回数据框如下:
Then I just want the records whose EPS
is not NaN
, that is, df.drop(....)
will return the dataframe as below:
STK_ID EPS cash
STK_ID RPT_Date
600016 20111231 600016 4.3 NaN
601939 20111231 601939 2.5 NaN
这样做?
答
不要 drop
。只需在 EPS
之间
df = df[np.isfinite(df['EPS'])]