使用字典中的键过滤pandas DataFrame

时间:2013-07-03 13:31:22

标签: 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.DataFrame,其中只有名称为以下字典中的键的列:

my_dict={a@a.6 : value1, c@c.2 : value2, d@w.4 : value5}

所以新的DataFrame将是:

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)

但不出所料,这不起作用。欢迎任何建议/意见

干杯,亚历克斯

2 个答案:

答案 0 :(得分:1)

Pandas数据帧有一个名为filter的方法,它将返回一个新的数据帧。试试这个

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

答案 1 :(得分:1)

你也可以在没有过滤方法的情况下这样做:

FilteredData = AllData[my_dict.keys()]