我有一个数据框 x_date country1 country2 data2020-01-01 France Denmark 993.7402020-01-01 France Sweden 692.7162020-01-01 Germany Denmark 2297.9892020-01-01 Germany Sweden 1610.7352020-01-02 France Denmark 942.2282020-01-02 France Sweden 818.4252020-01-02 Germany Denmark 1998.913我只想选择 country1 和 country2 的几个组合。话虽如此,我已经准备了一个映射数据框Map = pd.DataFrame({"country1": ["France","France","France","France","France","France", "Germany","Germany","Germany","Germany","Germany","Germany"],"country2": [None,None,"Denmark",None,None,None , #France None,None,None,"Sweden",None,None]}) #Germany我想选择法国(国家 1)和丹麦(国家 2)和德国和瑞典。为此,我使用了以下代码:data_Jan20_Apr20_V2=data_Jan20_Apr20_V2.loc[data_Jan20_Apr20_V2.country1.isin(Map['country1']) & data_Jan20_Apr20_V2.country2.isin(Map['country2']) ]但这给了我瑞典和丹麦的法国和德国,这违背了目的。有人可以帮助使用正确的代码来实现相同的目标吗?
1 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
我认为你想要的是merge:
data_Jan20_Apr20_V2.merge(Map, on=['country1', 'country2'])
这使:
x_date country1 country2 data
0 2020-01-01 France Denmark 993.740
1 2020-01-02 France Denmark 942.228
2 2020-01-01 Germany Sweden 1610.735
添加回答
举报
0/150
提交
取消
