当前位置: 首页 > 面试题库 >

如何删除在特定列中的值为NaN的Pandas DataFrame行

司徒兴思
2023-03-14
问题内容

我有这个DataFrame,只想要EPS列不是的记录NaN:

>>> 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

…例如df.drop(....)要得到这个结果的数据框:

                  STK_ID  EPS  cash
STK_ID RPT_Date                   
600016 20111231  600016  4.3   NaN
601939 20111231  601939  2.5   NaN

我怎么做?


问题答案:

不要drop。就拿行,其中EPS是有限的:

import numpy as np

df = df[np.isfinite(df['EPS'])]


 类似资料: