gpt4 book ai didi

python-3.x - 将一列替换为另一列,除非 Pandas 中另一列为 NaN

转载 作者:行者123 更新时间:2023-12-02 18:58:32 24 4
gpt4 key购买 nike

假设测试数据集如下:

   id   name1  name2
0 1 james James
1 2 Bond NaN
2 3 Steven NaN
3 4 Tom Kevin
4 5 Alba Tim

如何用 name2 替换 name1 的值,但 name2NaN 除外?

预期结果:

   id   name1  name2
0 1 James James
1 2 Bond NaN
2 3 Steven NaN
3 4 Kevin Kevin
4 5 Tim Tim

谢谢。

最佳答案

df.name1 = np.where(df.name2.isna(), df.name1, df.name2)

完整代码如下:

import pandas as pd
import numpy as np

df = pd.DataFrame(
data = [
['James', 'James'],
['Bond', np.nan],
['Steven', np.nan],
['Tom', 'Kevin'],
['Alba', 'Tim',],
], columns =['name1', 'name2']
)

df.name1 = np.where(df.name2.isna(), df.name1, df.name2)

结果是:

    name1  name2
0 James James
1 Bond NaN
2 Steven NaN
3 Kevin Kevin
4 Tim Tim

关于python-3.x - 将一列替换为另一列,除非 Pandas 中另一列为 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65897528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com