Python 使用字典中的键筛选数据帧

Python 使用字典中的键筛选数据帧,python,dictionary,filter,pandas,dataframe,Python,Dictionary,Filter,Pandas,Dataframe,我有以下pd.DataFrame: AllData = a@a.6 f@s.2 c@c.2 d@w.4 k@a.3 1 8 3 3 8 4 4 7 4 3 6 8 9 1 6 3 4 5 6 1 7 6 0 8 1 我想创建一个新的pd.D

我有以下pd.DataFrame:

AllData = 
a@a.6   f@s.2   c@c.2   d@w.4   k@a.3
1       8       3       3       8
4       4       7       4       3
6       8       9       1       6
3       4       5       6       1
7       6       0       8       1
我想创建一个新的pd.DataFrame,其中只包含以下字典中名称为键的列:

my_dict={a@a.6 : value1, c@c.2 : value2, d@w.4 : value5}
因此,新的数据帧将是:

FilteredData = 
a@a.6   c@c.2   d@w.4   
    1       3       3
    4       7       4
    6       9       1
    3       5       6
    7       0       8
最有效的方法是什么

我尝试使用:

FilteredData = AllData.filter(regex=my_dict.keys)
但毫不奇怪,这没有起作用。欢迎提出任何建议/建议


干杯,Alex熊猫数据帧有一个名为filter的方法,它将返回一个新的数据帧。试试这个

FilteredData = AllData.filter(items=my_dict.keys())

您也可以在不使用filter方法的情况下执行此操作,如下所示:

FilteredData = AllData[my_dict.keys()]

不,我对itmes的意思是
items
,但我理解你的意思。这种方法与@bdiamante?@user1083734提出的方法有什么区别?但是我对熊猫比较陌生,我认为我不能很好地解释它们。您可以查看github上的数据帧源代码,自己看看。这是bdiamante使用的“魔术”方法,也是我使用的方法。这两种方法的执行方式有区别吗?我不确定幕后发生的事情有什么区别,但这里肯定有人会这样做?