pandas series series
。があります。要素ごとの床または天井を取得したい場合、組み込みのメソッドがありますか、それとも関数を記述して使用する必要がありますかデータが大きいので、効率を高く評価します。また、Pandasパッケージに関しては、この質問はされていません。
NumPyの組み込みメソッドを使用して、これを行うことができます:np.ceil(series)
またはnp.floor(series)
。
どちらも、配列ではなくSeriesオブジェクトを返すため、インデックス情報は保持されます。
NumPyのフロアを使用して、たとえばdataframe
を使用して、次のようなことができます。
floored_data = data.apply(np.floor)
今すぐテストすることはできませんが、実際の実用的なソリューションはそこから遠くないかもしれません。
私はOPですが、これを試してみましたがうまくいきました:
np.floor(series)
clip_lower
_ / _clip_upper
_パンダでは、_clip_lower
_を介してフロアを設定するか、_clip_upper
_を介して天井を設定できます。
_s = pd.Series([-1, 0, -5, 3])
print(s.clip_lower(0))
# 0 0
# 1 0
# 2 0
# 3 3
# dtype: int64
print(s.clip_upper(0))
# 0 -1
# 1 0
# 2 -5
# 3 0
# dtype: int64
_
clip
_pd.Series.clip
_は、より一般化された機能をサポートします。天井の適用とフローリングを同時に、例えばs.clip(-1, 1)
。