gpt4 book ai didi

python - 如何确定任何列是否具有特定值

转载 作者:行者123 更新时间:2023-11-30 22:06:48 25 4
gpt4 key购买 nike

我有一个如下所示的数据框:

ID           Column1            Column2             Column3
1 cats dog bird
2 dog elephant tiger
3 leopard monkey cat

我想创建一个新列,指示该行中是否存在 cat 作为字符串的一部分,以便数据框如下所示:

   ID           Column1            Column2             Column3  Column4
1 cats dog bird Yes
2 dog elephant tiger No
3 leopard monkey cat Yes

我想在不单独评估每一列的情况下执行此操作,因为在实际数据集中有很多列。

最佳答案

以下内容应该可以帮助您:

df['Column4'] = np.where((df.astype(np.object)=='cat').any(1), 'Yes', 'No')

工作示例:

>>> import pandas as pd
>>> import numpy as np
>>> d = {'ID': [1, 2, 3], 'Column1': ['cat', 'dog', 'leopard'], 'Column2': ['dog', 'elephant', 'monkey'], 'Column3': ['bird', 'tiger', 'cat']}
>>> df = pd.DataFrame(data=d)
>>> df
Column1 Column2 Column3 ID
0 cat dog bird 1
1 dog elephant tiger 2
2 leopard monkey cat 3
>>> df['Column4'] = np.where((df.astype(np.object)=='cat').any(1), 'Yes', 'No')
>>> df
Column1 Column2 Column3 ID Column4
0 cat dog bird 1 Yes
1 dog elephant tiger 2 No
2 leopard monkey cat 3 Yes

编辑:如果您想检查任何列是否包含特定字符串,您可以使用以下命令:

df['Column4'] = df.apply(lambda r: r.str.contains('cat', case=False).any(), axis=1)

关于python - 如何确定任何列是否具有特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52635812/

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