gpt4 book ai didi

python - 根据条件替换列中的值

转载 作者:行者123 更新时间:2023-11-28 19:15:26 24 4
gpt4 key购买 nike

我有一个这样的数据框:

        POLY_KEY_I         SP1        SP2
0 FS01080100SM001 POAPRA TOXRYD
1 FS01080100SM001 NaN NaN
2 FS01080100SM001 OXRYD SYMOCC
3 FS01080100SM001 EUPESU POAPRA
4 FS01080100SM001 BOUGRA KOEPYR
5 FS01080100SM002 POAPRA EUPESU
6 FS01080100SM002 POAPRA NaN
7 FS01080100SM002 POAPRA KOEPYR

并且我想仅在 SP1 中有非 NaN 值时才替换 SP2 中的 NaN。如果发生这种情况,我想用 SP1 中的值替换它。我想要的输出是这样的:

        POLY_KEY_I         SP1        SP2
0 FS01080100SM001 POAPRA TOXRYD
1 FS01080100SM001 NaN NaN
2 FS01080100SM001 OXRYD SYMOCC
3 FS01080100SM001 EUPESU POAPRA
4 FS01080100SM001 BOUGRA KOEPYR
5 FS01080100SM002 POAPRA EUPESU
6 FS01080100SM002 POAPRA POAPRA
7 FS01080100SM002 POAPRA KOEPYR

SP1 中大约有 100 个唯一值,所以我不能手动完成,因为我并不总是知道 SP1 中的字符串是什么。

编辑:另一种对我有用的方法是说如果 SP2 == NaNSP1

返回值

我试过这段代码,但它给出了字符串 SP1(显然),我不确定如何返回实际值。这是代码:

def f(x):
if x['SP2'] == 'NaN' : return 'SP1'
df['SP2'] = df.apply(f, axis=1)
print df

最佳答案

这是怎么回事?

df['SP2'][pandas.isnull(df['SP2'])] = df['SP1']

在 SP1 和 SP2 都是 NaN 的情况下,您也只需复制 NaN

关于python - 根据条件替换列中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34056738/

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