根据不同数据框中的相等值选择行

时间:2018-10-05 12:19:21

标签: python pandas dataframe

如何在两个不同的数据框中使用基于熊猫的值重叠来选择行?

说我有两个数据框:

df_A

latitude    measurement
-8.4        30     
-8.3        40
-8.2        50

df_B

latitude    measurement
-8.4        40     
-8.2        65
-8.1        53
-8.0        100

我想比较在相同纬度下进行的测量,并创建一个如下所示的数据框:

latitude    measurement_A  measurement_B
-8.4        30             40    
-8.2        50             65

我尝试将两个数据帧合并为一个df_AB,如下所示:

latitude_A    measurement_A   latitude_B   measurement_B
-8.4          30              -8.4         40
-8.3          40              -8.2         65
-8.2          50              -8.1         53
NA            NA              -8.0         100

,然后使用df.loc

df_AB.loc[df_AB['latitude_A'] == df_AB['latitude_B']]

但这会导致:

latitude     measurement_A   measurement_B
-8.4           30              40

换句话说,纬度-8.2被跳过,因为它们位于不同的行中。我该怎么办?

2 个答案:

答案 0 :(得分:1)

尝试一下:

dst2ind(1) >= 0

答案 1 :(得分:1)

简单的表合并即可:

select into