最近我在两个大熊猫系列中做了一些工作:
示例数据:
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
{/ 1}}。
后一部分可行:
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
答案 0 :(得分:2)
first_series[second_series == 'Minus'] *= -1
first_series[second_series.isnull()] = np.nan
给你:
0 18.346606
1 -7.646455
2 NaN