Pandas 行选择字符串以列表中任何项目开头的位置

Pandas 行选择字符串以列表中任何项目开头的位置,pandas,Pandas,我希望根据特定的字符串列选择数据帧中的行子集,其中值以列表中任意数量的值开头 这是一个小版本: df = pd.DataFrame({'a': ['aa10', 'aa11', 'bb13', 'cc14']}) valids = ['aa', 'bb'] 因此,在这种情况下,我只需要a以aa或bb开头的那些行。您需要以开头 df.a.str.startswith(tuple(valids)) Out[191]: 0 True 1 True 2 True 3 F

我希望根据特定的字符串列选择数据帧中的行子集,其中值以列表中任意数量的值开头

这是一个小版本:

df = pd.DataFrame({'a': ['aa10', 'aa11', 'bb13', 'cc14']})
valids = ['aa', 'bb']

因此,在这种情况下,我只需要
a
aa
bb
开头的那些行。

您需要
开头

df.a.str.startswith(tuple(valids))
Out[191]: 
0     True
1     True
2     True
3    False
Name: a, dtype: bool
带原始df的后滤波器

df[df.a.str.startswith(tuple(valids))]
Out[192]: 
      a
0  aa10
1  aa11
2  bb13

这非常有效。非常感谢你的帮助。