为了账号安全,请及时绑定邮箱和手机立即绑定

使用另一个数据框在python中设置数据子集

使用另一个数据框在python中设置数据子集

MYYA 2022-10-18 14:56:18
我有一个数据框 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


查看完整回答
反对 回复 2022-10-18
  • 1 回答
  • 0 关注
  • 178 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号