regex 在Python中使用正则表达式及其标志和.eq()函数来忽略大小写

j9per5c4  于 2023-04-13  发布在  Python
关注(0)|答案(2)|浏览(119)

我查过文档了(https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.eq.html
我在想下面的东西,我可以使用和re.I到ingnore情况或使用任何其他标志的问题。

df.column.eq('Male').sum()
0vvn1miw

0vvn1miw1#

您可以使用Series.str.contains函数,其中包含case=False参数、^Male$作为正则表达式模式和regex=True参数:

df['column'].str.contains('^Male$', case=False, regex=True).sum()

参见Series.str.contains documentation
参见What do ^ and $ mean in a regular expression?

mgdq6dx1

mgdq6dx12#

请注意,除了设置case=False之外,您还可以使用正则表达式中的字符集(即'^[Mm]ale $')来允许单词中的不同大小写设置。

import pandas as pd
pupils = [1, 2, 3, 4, 5, 6, 7, 8]
test_outcomes =['pass', 'fail', 'pass', 'fail', 'not passed', 'fail', 'fail', 'Pass']
test_results = pd.DataFrame(zip(pupils, test_outcomes), columns['pupil','outcome'])
passes = test_results[test_results['outcome'].str.contains('^[Pp]ass', regex=True)]
瞳孔结果
1传球
传球
通过

相关问题