gpt4 book ai didi

python - 返回 pandas 数据框中的行,其中列中的元组包含特定值

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

我正在尝试查询 pandas 数据框以查找其中一列包含包含特定值的元组的行。

举个例子:

   User                 Col1
0 1 (cat, dog, goat)
1 1 (cat, sheep)
2 1 (sheep, goat)
3 2 (cat, lion)
4 2 (fish, goat, lemur)
5 3 (cat, dog)
6 4 (dog, goat)
7 4 cat

所以假设我想返回 Col1 包含“cat”的行,有没有一种方法可以做到这一点而无需遍历每一行并执行“if”(我的实际数据集有更多行)?

df['Col1'].isin(['cat'])

df['Col1'].str.contains("cat")

只为最后一行返回 'true'

最佳答案

您可以在 apply() 中使用 lambda 函数:

df[df["Col1"].apply(lambda x: "cat" in x)]

"cat" 在单元格中时,lambda 返回 True。这适用于字符串("cat"in "cat" is True)和元组("cat"in ("cat", "dog")True)。通过对 df 进行子集化,您可以获得 lambda 为 True 的所有行。

关于python - 返回 pandas 数据框中的行,其中列中的元组包含特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29463068/

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