在' - '之后从具有特定字符的数据框中选择行。

时间:2018-03-14 18:54:47

标签: pandas dataframe querying

我有以下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')

非常欢迎任何想法!

1 个答案:

答案 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