【发布时间】:2020-02-01 09:16:53
【问题描述】:
Count number of rows when row contains certain text 中的答案让我半途而废……
列标记为“1a.”、“2a.”和“3a.”。 每行都标有唯一标识符(随机字母数字代码)。
如何计算多列中至少包含 10 个字母中的 1 个的行数?
此代码适用于一列:len(df[df['1a.'].str.contains('A|I|M|Q|C|K|G|O|E|S')])
我尝试使用len(df[df['1a.'|'2a.'|'3a.'].str.contains('A|I|M|Q|C|K|G|O|E|S')]) 处理多个列并收到错误:
TypeError Traceback(最近一次调用最后一次) 在 ----> 1 len(df[df['1a.'|'2a.'|'3a.'].str.contains('A|I|M|Q|C|K|G|O|E |S')])
TypeError: |: 'str' 和 'str' 的操作数类型不受支持
该行只计算一次,无论三列是否包含“A”和“I”和“M”(列表中的所有三个字母)或“A”和“B”和“L”(最后两个不在列表中的字母)。
【问题讨论】:
-
"1a|2a"和"1a"|"2a"有很大的区别