我有以下DataFrame:
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]})
我想在第二个' - '之后选择具有特定字符的行(例如' E')
非常欢迎任何想法!
答案 0 :(得分:0)
选项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