相关疑难解决方法(0)

如何用pandas DataFrame中的先前值替换NaN?

假设我有一个带有NaNs 的DataFrame :

>>> import pandas as pd
>>> df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])
>>> df
    0   1   2
0   1   2   3
1   4 NaN NaN
2 NaN NaN   9
Run Code Online (Sandbox Code Playgroud)

我需要做的是用它上面的同一列中NaN的第一个非NaN值替换每个值.假设第一行永远不会包含a NaN.因此,对于前面的示例,结果将是

   0  1  2
0  1  2  3
1  4  2  3
2  4  2  9
Run Code Online (Sandbox Code Playgroud)

我可以逐个循环遍历整个DataFrame,逐个元素并直接设置值,但是有一种简单(最佳无循环)的方法来实现这一目标吗?

python nan dataframe python-3.x pandas

103
推荐指数
8
解决办法
7万
查看次数

标签 统计

dataframe ×1

nan ×1

pandas ×1

python ×1

python-3.x ×1