蟒蛇系列的地板或天花板在蟒蛇?

时间:2014-12-21 18:32:25

标签: python pandas series floor ceiling

我有一个熊猫系列series。如果我想获得元素层或者天花板,是否有内置方法或者我必须编写函数并使用apply?我问,因为数据很大,所以我很欣赏效率。关于熊猫一揽子计划,还没有提出这个问题。

4 个答案:

答案 0 :(得分:43)

您可以使用NumPy的内置方法执行此操作:np.ceil(series)np.floor(series)

两者都返回一个Series对象(不是数组),因此保留了索引信息。

答案 1 :(得分:12)

你可以使用NumPy的底板做这样的事情,例如dataframe

floored_data = data.apply(np.floor)

目前无法对其进行测试,但实际可行的解决方案可能并不遥远。

答案 2 :(得分:7)

我是OP,但我尝试了这个并且它有效:

np.floor(series)

答案 3 :(得分:3)

clip_lower / clip_upper

对于Pandas,您可以通过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)