最近,我正在处理 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.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
但是我有点坚持前一部分。如何使用第二个系列中的信息(假设它们具有相同的索引)来切换第一个系列中的标志?
作为参考,应用后first_series应该变成这样:
0 18.567557
1 -7.646459
2 NaN
Name: Example data