最近、私はパンダの2つのシリーズでいくつかの作業を行っています。
- 最初のシリーズには、純粋な数値データが含まれています
- 2番目のシリーズには、「プラス」、「マイナス」、および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)
(実際のシナリオでは、2番目のシリーズは最初のシリーズと同じインデックスを使用してプログラムで構築されていますが、ここでは単純化した例にすぎません)
私は最初にいくつかの操作を行っています:
first_series = np.log2(1 / first_series)
NaN
次に、対応する「マイナス」エントリの符号を反転(-1で乗算)し、2番目のシリーズのエントリに目を向ける必要がありNaN
ます。
後者の部分は問題なく機能します。
first_series[np.invert(second_series.notnull())] = np.nan
print first_series
0 18.567557
1 7.646459
2 NaN
Name: Example data
しかし、私は前の部分に少しこだわっています。2番目のシリーズの情報を使用して(同じインデックスが付けられている場合)、最初のシリーズの符号を切り替えるにはどうすればよいですか?
参考までに、アプリケーションの後、first_seriesは次のようになります。
0 18.567557
1 -7.646459
2 NaN
Name: Example data