gpt4 book ai didi

python - 检查 python panda 中的列值

转载 作者:太空宇宙 更新时间:2023-11-04 00:59:59 27 4
gpt4 key购买 nike

如何检查 panda 表中的列值是否相同并在第四列中创建结果:

原创

    red  blue  green
a 1 1 1
b 1 2 1
c 2 2 2

变成:

   red blue green match
a 1 1 1 1
b 1 2 1 0
c 2 2 2 1

最初我只有 2 列,通过这样做可以实现类似的效果:

df['match']=df['blue']-df['red']

但这不适用于 3 列。

非常感谢您的帮助!

最佳答案

为了使其更通用,请在 apply 方法中比较行值。

使用set()

In [54]: df['match'] = df.apply(lambda x: len(set(x)) == 1, axis=1).astype(int)

In [55]: df
Out[55]:
red blue green match
a 1 1 1 1
b 1 2 1 0
c 2 2 2 1

或者,使用 pd.Series.nunique 来识别行中唯一的数量。

In [56]: (df.apply(pd.Series.nunique, axis=1) == 1).astype(int)
Out[56]:
a 1
b 0
c 1
dtype: int32

或者,对第一列值使用 df.iloc[:, 0] 并将其 eqdf

匹配
In [57]: df.eq(df.iloc[:, 0], axis=0).all(axis=1).astype(int)
Out[57]:
a 1
b 0
c 1
dtype: int32

关于python - 检查 python panda 中的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33260689/

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