python-3.x - 使用fillna在Pandas中用列表填充空值

标签 python-3.x pandas series missing-data fillna

给定一个pd.Series,我想用一个列表替换空值。也就是说,给定:

import numpy as np
import pandas as pd
ser = pd.Series([0,1,np.nan])

我想要一个可以返回的函数
0        0
1        1
2    [nan]

但是,如果我尝试为此使用自然函数,即 fillna :
result = ser.fillna([np.nan])

但我得到了错误

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



有什么简单的方法可以达到这个目的吗?

最佳答案

使用apply,因为fillna仅适用于标量:

print (ser.apply(lambda x: [np.nan] if pd.isnull(x) else x))
0        0
1        1
2    [nan]
dtype: object

关于python-3.x - 使用fillna在Pandas中用列表填充空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47267375/

相关文章:

python - SQLite SELECT 语句中的可选参数

python - 模块未找到错误 : No module named 'torch.utils.serialization'

python - 如何使用 pandas 在一个命令行中连续写入多个值

python - Pandas str.contains() 在某些情况下不起作用

python - ValueError : Length mismatch: Expected axis has 23 elements, 新值有 2 个元素。 Pandas 长度不匹配

arrays - NumPy 数组在赋值/复制时丢失维度,为什么?

Python Pandas 习惯用法,用于将具有列表作为值的 TimeSeries 转换为 DataFrame

python - 删除 pandas 系列名称

r - 创建日期时间时间序列对象并绘图

javascript - Highcharts:如何重命名系列