gpt4 book ai didi

python - Pandas:查看项目是否在数据框中的 Series.series 列表中

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

我有一个看起来像这样的数据框(小版本):

    A   B   C
0 125 ADB [AF:12]
1 189 ACB [AF:78, AF:85, AF:98]
2 148 ADB []
3 789 ARF [AF:89, AF:85, AF:12]
4 789 BCD [AF:76, AF:25]

如何查看“C”列中的某些项目是否在列表中?知道当我执行 type(df.C) 时,我得到 class 'pandas.core.series.Series'

例如,如果列表是:

['AF:12', 'AF25']

预期的输出是:

    A   B   C                        D
0 125 ADB [AF:12] True
1 189 ACB [AF:78, AF:85, AF:98] False
2 148 ADB [] False
3 789 ARF [AF:89, AF:85, AF:12] True
4 789 BCD [AF:76, AF:25] True

我试过df['D'] = df['C'].isin(list)但可能到处都是假的,因为“C”是列表的列表。

有办法解决这个问题吗?

任何帮助将不胜感激

最佳答案

如果 C 列的元素类型是 list ,那么我相信一种方法是使用 set 交集您的列表和 C 列的元素使用 Series.apply方法 。示例 -

setlst = set(yourlist)
df['D'] = df['C'].apply(lambda x: bool(setlst.intersection(x)))

如果 type(df['C'][0])list ,您可以确认 C 是列表类型。

另请注意,不推荐使用 list 作为变量名,因为它会影响内置类型 list

关于python - Pandas:查看项目是否在数据框中的 Series.series 列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32983972/

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