Select 来自数据框的行,在“-”之后有特定字符
Select rows from dataframe with a certain character after a '-'
我有以下数据框:
import pandas as pd
test = pd.DataFrame({'A': 'A1-C-D-1 A22-C-D-22 A4-S-E-3'.split(),
'B': [1, 2, 3]})
我想select在第二个'-'之后具有特定字符(例如'E')的行
欢迎任何想法!
选项 1
使用 str.split
+ str.startswith
:
过滤
test[test.A.str.split('-').str[2].str.startswith('E')]
A B
2 A4-S-E-3 3
选项 2
您可以在这里发挥创造力并使用 str.extract
+ pd.Series.notna/notnull
:
test[test.A.str.extract('.*?-.*?-(E).*', expand=False).notna()]
A B
2 A4-S-E-3 3
我有以下数据框:
import pandas as pd
test = pd.DataFrame({'A': 'A1-C-D-1 A22-C-D-22 A4-S-E-3'.split(),
'B': [1, 2, 3]})
我想select在第二个'-'之后具有特定字符(例如'E')的行
欢迎任何想法!
选项 1
使用 str.split
+ str.startswith
:
test[test.A.str.split('-').str[2].str.startswith('E')]
A B
2 A4-S-E-3 3
选项 2
您可以在这里发挥创造力并使用 str.extract
+ pd.Series.notna/notnull
:
test[test.A.str.extract('.*?-.*?-(E).*', expand=False).notna()]
A B
2 A4-S-E-3 3