pandas 如何选择 Dataframe 中部分匹配列表中字符串的所有列?

j0pj023g  于 2023-03-06  发布在  其他
关注(0)|答案(1)|浏览(135)

假设我有一个Dataframe,如下所示:

import pandas as pd

df = pd.DataFrame({'foo': [1, 2, 3], 'bar': [4, 5, 6], 'ber': [7, 8, 9]})

给定mylist = ['oo', 'ba']这样的“filter”字符串列表,如何选择df中名称与mylist中的任何字符串部分匹配的所有列?对于本例,预期输出为{'foo': [1, 2, 3], 'bar': [4, 5, 6]}

7xzttuei

7xzttuei1#

您可以将df.filterregex一起使用来完成此操作。

import pandas as pd

# sample dataframe
df = pd.DataFrame({'foo': [1, 2, 3], 'bar': [4, 5, 6], 'ber': [7, 8, 9]})

# sample list of strings
mylist = ['oo', 'ba']

# join the list to a single string
matches = '|'.join(mylist)

# use regex to filter the columns based on the string
df_out = df.filter(regex=matches)

相关问题