gpt4 book ai didi

python - 在 pandas 行中搜索字符串

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:13 25 4
gpt4 key购买 nike

如何在 pandas 数据框中的整行中搜索短语,如果存在,则创建一个新列,其中显示"is",以及在该行的哪些列中找到它?我也希望能够忽略大小写。

最佳答案

您可以使用 Pandas apply 函数,它允许您遍历行或列并将您自己的函数应用于它们。

例如,给定一个数据框

+--------------------------------------+------------+---+
| deviceid | devicetype | 1 |
+--------------------------------------+------------+---+
| b569dcb7-4498-4cb4-81be-333a7f89e65f | Google | 1 |
| 04d3b752-f7a1-42ae-8e8a-9322cda4fd7f | Android | 2 |
| cf7391c5-a82f-4889-8d9e-0a423f132026 | Android | 3 |
+--------------------------------------+------------+---+

定义一个函数

def pr(array, value):
condition = array[array.str.contains(value).fillna(False)].index.tolist()
if condition:
ret = array.append(pd.Series({"condition":['Yes'] + condition}))
else:
ret = array.append(pd.Series({"condition":['No'] + condition}))
return ret

使用它

df.apply(pr, axis=1, args=('Google',))

+---+--------------------------------------+------------+---+-------------------+
| | deviceid | devicetype | 1 | condition |
+---+--------------------------------------+------------+---+-------------------+
| 0 | b569dcb7-4498-4cb4-81be-333a7f89e65f | Google | 1 | [Yes, devicetype] |
| 1 | 04d3b752-f7a1-42ae-8e8a-9322cda4fd7f | Android | 2 | [No] |
| 2 | cf7391c5-a82f-4889-8d9e-0a423f132026 | Android | 3 | [No] |
+---+--------------------------------------+------------+---+-------------------+

关于python - 在 pandas 行中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33717272/

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