Python Pandas查找数据框中存在的多个列标题

时间:2018-07-30 08:24:09

标签: python python-3.x pandas

我正在尝试从数据框中存在的列标题列表中找到所有列标题(并输出所有存在的字典形式的字典,以便在tkinter下拉菜单中使用)。

例如,假设我有一个列列表:

Options = ['title3', 'title5', 'title6']

并且数据框具有列:

title1   title4   title3    title6

我需要输出为:

choices = {'title3', 'title6'}.

我目前进行此工作的唯一方法是优雅:

if 'title1' in df1:
    choices = { 'title1'}

if 'title1' in df1 and 'title5' in df1:
    choices = { 'title1', 'title5'}

如果有人知道让我获得结果的更好方法,我将不胜感激!

谢谢

1 个答案:

答案 0 :(得分:3)

我认为需要intersection

df = pd.DataFrame(columns=['title1','title4','title3','title6'])
Options = ['title3', 'title5', 'title6']
choices = df.columns.intersection(Options).tolist()
print (choices)
['title3', 'title6']