用列表中的值填充 NaN

Posted

技术标签:

【中文标题】用列表中的值填充 NaN【英文标题】:fill NaN with values from a list 【发布时间】:2017-04-28 15:15:14 【问题描述】:

您好,我有一个包含多个值的列表(将 numpy 数组转换为列表)。我尝试用它来替换我在 pandas 列中的所有 NaN 值,但出现以下错误:

TypeError: "value" parameter must be a scalar or dict, but you passed a "list"

我用来填充的代码行是

df.column.fillna(list,inplace=True)

非常感谢任何帮助

【问题讨论】:

错误很明显,你看过docs吗? 文档明确指出:它不能成为列表 我可以使用列表的任何方式。我的fillna,是我尝试解决的问题,我没有唯一的解决方案 您将如何使用列表?请附上minimal reproducible example。 目前尚不清楚传递该方法所接受的标量或字典的问题是什么。为什么必须使用列表? 【参考方案1】:

我设法解决了这个问题,方法是将我的列表转换为一个系列并使用该系列创建一个新列。之后,我按照Python Pandas replace NaN in one column with value from corresponding row of second column

将所有 NaN 替换为新列中的值

在我看来,对于我认为在 python 中可能更容易的事情来说,这似乎有点远。 感谢您说明明显的 EdChum ;)

【讨论】:

以上是关于用列表中的值填充 NaN的主要内容,如果未能解决你的问题,请参考以下文章

如何在熊猫中用空列表[]填充数据框Nan值?

使用 fillna 在 Pandas 中使用列表填充空值

SQL 用最后观察到的值填充 nan

用 pandas 数据框中另一列的值填充多列中的 Na

从vba中的表填充列表框

无法在pandas中通过lambda填充多列中的NaN值