熊猫根据多列和一组值的条件进行选择

时间:2021-01-22 02:19:25

标签: python python-3.x pandas

我有一个位置列表和一个如下所示的数据框,我想从带有城市和国家/地区列的 df 中选择行,其中行的位置(城市和国家/地区)与数据框中的任何对匹配。位置列表可以有更多的对,这使得输入所有条件不太理想的解决方案。

[[3,4,1],[5,2]]

2 个答案:

答案 0 :(得分:2)

这是reindex之后的一种方式set_index

Locations = [('London','Uk'), ('Paris', 'US'), ('Toronto', 'Canada')]
out = df.set_index(['City','Country']).reindex(Locations).reset_index()
out
Out[83]: 
      City Country value
0   London      Uk   NaN
1    Paris      US   100
2  Toronto  Canada    40

答案 1 :(得分:1)

将您的对列表更改为 DataFrame。接下来,在两个 DataFrame 之间进行连接。