web-dev-qa-db-ja.com

pandas pythonのシリーズの床または天井?

pandas series series。があります。要素ごとの床または天井を取得したい場合、組み込みのメソッドがありますか、それとも関数を記述して使用する必要がありますかデータが大きいので、効率を高く評価します。また、Pandasパッケージに関しては、この質問はされていません。

31
wolfsatthedoor

NumPyの組み込みメソッドを使用して、これを行うことができます:np.ceil(series)またはnp.floor(series)

どちらも、配列ではなくSeriesオブジェクトを返すため、インデックス情報は保持されます。

48
Alex Riley

NumPyのフロアを使用して、たとえばdataframeを使用して、次のようなことができます。

floored_data = data.apply(np.floor)

今すぐテストすることはできませんが、実際の実用的なソリューションはそこから遠くないかもしれません。

13
Jivan

私はOPですが、これを試してみましたがうまくいきました:

np.floor(series)
7
wolfsatthedoor

_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)

3
jpp