gpt4 book ai didi

python - 某些列 pandas 上相同值的动态 bool 掩码

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

我有一个 Pandas DataFrame,其中某些行在相似的列中具有相同的值。我想创建一个 bool 掩码,当所有这些列对特定行具有相同的值时,该掩码为 True 。我想动态传递要检查的列列表。示例:

A | B | C | Mask
1 | 1 | 1 | True
2 | 2 | 3 | False
4 | 4 | 4 | True

掩码应该由传递给 DataFrame 和列列表的我的 same_values 函数返回。例如

same_values(data, ['A', 'B', 'C'])

如果没有动态传递,我可以这样做:

data[(data['A']==data['B'])&(data['A']==data['C'])]

我可以动态遍历所有列并将它们与第一个传递的列进行比较,但这似乎效率不高。谁有更好的解决方案?

最佳答案

你可以试试这个:

data = pd.DataFrame({'a': [1, 2, 4], 'b': [1, 2, 4], 'c': [1, 3, 4]})
data.apply(lambda x: len(set(x)) == 1, axis=1)

关于python - 某些列 pandas 上相同值的动态 bool 掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37940026/

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