1

我有以下 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)

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

干杯,亚历克斯

4

2 回答 2

1

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

FilteredData = AllData.filter(items=my_dict.keys())
于 2013-07-03T13:52:20.177 回答
1

您也可以完全不使用 filter 方法来执行此操作,如下所示:

FilteredData = AllData[my_dict.keys()]
于 2013-07-03T13:54:33.297 回答