pandas - 按以某个 str 开头的元素列表切片行 df
问题描述
我有一个清单:
['Ad','Cs']
还有一个df
xx yy zz
Adjsl 5 7 9
Adjrr 1 1 2
Blsda 6 6 6
Csaosq 8 7 2
我想知道如何通过仅保留那些索引以列表元素开头的行来对 df 进行切片以获得以下输出:
xx yy zz
Adjsl 5 7 9
Adjrr 1 1 2
Csaosq 8 7 2
解决方案
我们使用Series.str.startswith
. 在这里,您可以将其与pd.concat
:
df_filtered=pd.concat([df[df.index.str.startswith(key)] for key in my_list])
print(df_filtered)
xx yy zz
Adjsl 5 7 9
Adjrr 1 1 2
Csaosq 8 7 2