首页 > 解决方案 > 包含值列表的其他列中的值列

问题描述

A 列包含字符串。B 列包含字符串列表。我想知道B列中A的值是多少倍。

我有

一种
ķ [m]
C [k,l,m]
j [k,l]
e [e,m]
e [e,m,c,e]

我想要这个输出:

C
0
0
0
1
2

标签: pythonpandas

解决方案


您可以使用applyon rowthen use.count列表,如下所示。试试这个:

>>> df = pd.DataFrame({'A': ['k', 'c', 'j', 'e', 'e'],'B': [['m'],['k','l','m'],['k','l'],['e','m'],['e','m','c','e']]})
>>> df['C'] = df.apply(lambda row: row['B'].count(row['A']), axis=1)
>>> df

           A    B               C
0          k    [m]             0
1          c    [k, l, m]       0
2          j    [k, l]          0
3          e    [e, m]          1
4          e    [e, m, c, e]    2

推荐阅读