【发布时间】:2018-09-05 14:10:41
【问题描述】:
我有一个 pandas 数据框,我想检查某个列的子字符串。 目前我有 30 行这样的代码:
df['NAME'].str.upper().str.contains('LIMITED')) |
(df['NAME'].str.upper().str.contains('INC')) |
(df['NAME'].str.upper().str.contains('CORP'))
它们都与or 条件相关联,如果其中任何一个为真,则该名称是公司名称而不是个人名称。
但对我来说,这似乎不是很优雅。有没有办法检查 pandas 字符串列中的“此列中的字符串是否包含以下列表中的任何子字符串”['LIMITED', 'INC', 'CORP']。
我找到了 pandas.DataFrame.isin 函数,但这仅适用于整个字符串,不适用于我的子字符串。
【问题讨论】:
-
注意:有一个解决方案described by @unutbu,比使用
pd.Series.str.contains效率更高。如果性能是一个问题,那么这可能值得调查。
标签: python pandas select substring