Python 熊猫:使用具有相同索引的第二个系列来更改一个系列

Python 熊猫:使用具有相同索引的第二个系列来更改一个系列,python,pandas,Python,Pandas,最近,我在《熊猫》的两个系列中做了一些工作: 第一个系列包含纯数值数据 第二个系列包含分类数据:“加”、“减”和NaN 示例数据: first_series = pandas.Series([0.000003, 0.004991, 0.004991]) second_series = pandas.Series(["Plus", "Minus", np.nan], dtype="object", index=first_series

最近,我在《熊猫》的两个系列中做了一些工作:

  • 第一个系列包含纯数值数据
  • 第二个系列包含分类数据:“加”、“减”和NaN
示例数据:

first_series = pandas.Series([0.000003, 0.004991, 0.004991])
second_series = pandas.Series(["Plus", "Minus", np.nan], dtype="object",
                              index=first_series.index)
(在真实场景中,第二个系列是使用与第一个系列相同的索引以编程方式构建的,但这里只是一个简化的示例)

我先做一些操作:

first_series = np.log2(1 / first_series)
然后我需要反转相应“减号”条目的符号(乘以-1),然后转到
NaN
第二个系列中的是
NaN

后一部分工作正常:

first_series[np.invert(second_series.notnull())] = np.nan

print first_series

0    18.567557
1     7.646459
2          NaN
Name: Example data
然而,我还是被前一部分卡住了。如何使用第二个系列中的信息(假设它们的索引相同)切换第一个系列中的符号

作为参考,应用后,第一个_系列应如下所示:

0    18.567557
1    -7.646459
2          NaN
Name: Example data
给你:

0    18.346606
1    -7.646455
2          NaN

在我使用的pandas当前结账时,它不起作用。我将提交一个bug。
0    18.346606
1    -7.646455
2          NaN