Python 使用字典中的键筛选数据帧
我有以下pd.DataFrame: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
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使用的“魔术”方法,也是我使用的方法。这两种方法的执行方式有区别吗?我不确定幕后发生的事情有什么区别,但这里肯定有人会这样做?