python - pandas 将零替换为其他列中的下一个值

标签 python pandas

我有一个数据框

 A    B
10   20
20   25
30    0
35    40
45    0
60    70

我想将 B 列中的 0 替换为 A 中的下一行值。 那么就会变成

  A     B
 10    20
 20    25
 30   '35'
'35'   40
 45   '60'
'60'   70

最佳答案

您可以shift并使用loc进行设置

In [219]: df.loc[df.B == 0, 'B'] = df.A.shift(-1)

In [220]: df
Out[220]:
    A     B
0  10  20.0
1  20  25.0
2  30  35.0
3  35  40.0
4  45  60.0
5  60  70.0

关于python - pandas 将零替换为其他列中的下一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41280592/

相关文章:

python - 计算 Pandas 几列中项目的平均值

python - 比较数据框中的两列值

python - 使用多个过滤条件从较大的数据帧创建较小的数据帧 : using python and pandas

python - 在 Python 3 中编码字符串而不使用 unicode\xc2 替换

python - 尝试在Haarcascades中使用模糊时出错

python - 将 Pandas 系列时间戳转换为唯一日期列表

python - 如何将 Scikit-learn 数据集转换为 Pandas 数据集

python - Pandas:根据条件去除数据帧组末尾的行

python - 调整 celery 以获得高性能

python - 在 Python 中使用 XPath 和 ETXPath 的 LXML