比较两行并根据值进行更改

Comparing two rows and changing depending on values

我有一个 pandas 经度数据框及其对应的“E”和“W”值。经度及其对应值在同一个数据框中,但在两个不同的列中。

我正在尝试评估第 2 列,以便当值为“E”时,我对应的经度(在第 1 列中)将为正值,当值为“W”时,该值将变为负值。

请参阅下面的示例数据框。

index   column 1       column 2 
0    71.33435833333333   W
1    71.334355           W
2    71.33435833333333   W
3    71.33436166666667   W
4    71.33436166666667   W
5    71.33425            E
6    71.33392166666667   E
7    71.33434166666666   E

如有任何帮助,我们将不胜感激。如果需要有关该问题的更多信息,请告诉我。

IIUC,可以使用切片进行就地修改:

df.loc[df['column 2'].eq('W'), 'column 1'] *= -1

输出:

   index   column 1 column 2
0      0 -71.334358        W
1      1 -71.334355        W
2      2 -71.334358        W
3      3 -71.334362        W
4      4 -71.334362        W
5      5  71.334250        E
6      6  71.333922        E
7      7  71.334342        E