gpt4 book ai didi

python - 如何在数据框列上应用上限?

转载 作者:行者123 更新时间:2023-11-30 22:19:16 27 4
gpt4 key购买 nike

我有一个带有数字系列的数据框,示例如下。我怎样才能以 0.2 为步长来取消每个值?在 Excel 中通过 =CEILING(x, 0.2) 非常简单,但是 Python 呢?

df = pd.DataFrame({'A': [1, 1.3, 1.5, 1,6, 1.7, 2]})

最佳答案

据我所知,这样的函数本身并不存在。

您可以使用 NumPy(归功于@DSM):

step = 0.2
df['B'] = np.ceil((df['A'].values / step)) * step

通过pd.Series.apply获得性能较低的版本:

import pandas as pd
import math

df = pd.DataFrame({'A': [1, 1.3, 1.5, 1,6, 1.7, 2]})

def ceil(x, step=1):
return step * math.ceil(x/step)

df['B'] = df['A'].apply(ceil, step=0.2)

# A B
# 0 1.0 1.0
# 1 1.3 1.4
# 2 1.5 1.6
# 3 1.0 1.0
# 4 6.0 6.0
# 5 1.7 1.8
# 6 2.0 2.0

关于python - 如何在数据框列上应用上限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49174657/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com