私は約100列と200000行のデータを含むpandas.DataFrameオブジェクトを持っています。私はboolデータフレームに変換しようとしています。ここで、Trueは値がしきい値よりも大きいことを意味し、Falseはそれがより少なく、NaN値が維持されることを意味します。pandasデータフレーム不等式でNaNを保持する
何のNaN値がない場合、それは私が実行するために約60ミリ秒かかる:
df >= threshold
をしかし、私はNaNを扱うしようとすると、以下の方法で動作しますが、非常に遅い(20秒)。
def func(x):
if x >= threshold:
return True
elif x < threshold:
return False
else:
return x
df.apply(lambda x: x.apply(lambda x: func(x)))
速い方法がありますか?
:以下のタイミングは200Kの長さの配列
x
です。なぜあなたは2つの 'lambda x'を割り当てましたか? 'df.apply(func)'はこのトリックを行います。 – DeepSpace@DeepSpaceと同じ時間がかかりました – jsignell