仅在 Pandas 中保留有限条目

Posted

技术标签:

【中文标题】仅在 Pandas 中保留有限条目【英文标题】:Keep finite entries only in Pandas 【发布时间】:2014-05-13 00:19:29 【问题描述】:

在 Pandas 中,我可以使用 df.dropna() 删除任何 NaN 条目。 Pandas 中是否有类似的东西可以删除非有限(例如Inf)条目?

【问题讨论】:

dropping infinite values from dataframes in pandas?的可能重复 【参考方案1】:

您可以在DF[DF==np.inf]=np.nan 之后使用.dropna(),(除非您仍想保留NANs 并且只删除infs)

【讨论】:

谢谢。令人惊讶的是df.drop(df==np.inf) 不起作用。有什么想法吗? 我认为,正如文档字符串所说:.dropna(self, axis=0, how='any', thresh=None, subset=None)df==np.inf 将作为 axis 参数传递,应该引发异常。【参考方案2】:

你可以使用:

with pd.option_context('mode.use_inf_as_null', True):
   df = df.dropna()

【讨论】:

这会导致我的数据框从 130 行变为 0。我相信我正在调查的 na/inf 问题是一列所有空白 您可以指定要放置 NaN 的轴作为 dropna 的参数【参考方案3】:
df[np.isfinite(df) | np.isnan(df)]

【讨论】:

有一个np.isinfinity

以上是关于仅在 Pandas 中保留有限条目的主要内容,如果未能解决你的问题,请参考以下文章

Unity:OnCollisionEnter 仅在新条目时触发,但不会在具有相同名称的不同对象上的新条目时触发

尽管包含更多条目,但数组仅在 for-loop 之后向 Struct 添加单个条目 - Swift/Xcode

Pandas 数据框中每年的条目总数

JSON - 使用 numpy 数组条目序列化 pandas 数据帧

Pandas:打印没有条目的列。不缺少值

折叠 Pandas 行以消除 NaN 条目