【问题标题】:Pandas: Check if Series of strings is in Series with list of strings熊猫:检查字符串系列是否在字符串列表中
【发布时间】:2021-12-29 16:43:01
【问题描述】:

我正在寻找一种方法来确定 pandas 系列字符串是否包含在另一个系列的字符串列表的值中。

最好是单行 - 我知道我可以通过遍历行并建立一个新系列来解决这个问题。

示例:

import pandas as pd
df = pd.DataFrame([
    {'value': 'foo', 'accepted_values': ['foo', 'bar']},
    {'value': 'bar', 'accepted_values': ['foo']},   
])

期望的输出是

pd.Series([True, False])

因为'foo'['foo', 'bar']中,但'bar'不在['foo']

我的尝试:

  • df['value'].isin(df['accepted_values']),但这给了我[False, False]

谢谢!

【问题讨论】:

    标签: pandas dataframe series


    【解决方案1】:

    您可以将applyin 一起使用:

    df.apply(lambda r: r.value in r.accepted_values, axis=1)
    
    0     True
    1    False
    

    【讨论】:

    • 谢谢。额外的问题:当我有两个独立的系列时,是否有类似的方法,例如一个系列value 另一个系列accepted_values(不在同一个df)?当然,我总是可以将它们粘贴到同一个 df 中并使用建议的方法 ;-)
    猜你喜欢
    • 2013-01-09
    • 1970-01-01
    • 2013-04-29
    • 2021-04-21
    • 2015-05-05
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 2019-10-03
    相关资源
    最近更新 更多