python - 包含值列表的其他列中的值列
问题描述
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 |
解决方案
您可以使用apply
on row
then 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
推荐阅读
- rust - 构建 rust Rocket api 时出现“root 中没有'Json'”错误
- reactjs - react-i18next:字符串未翻译
- pagination - 十一(11ty)数据分页 - 来自数据的标题
- c - 使用 C 中的预处理器检查三个变量的最大值
- python - 如何按原样保存表格(熊猫)
- ruby - 使用 'Each' 方法在 do 循环中创建一个新数组
- javascript - Datatable JS 中的 API 数据
- php - MySQL 数据库中存储的值错误
- regex - 使用 DF、Grep、Awk 列出卷 | 重击壳
- javascript - Gatsby.js 中的 Polyfills - String.prototype.matchAll