使用 clip 设置 pandas 列的最小值

Setting the minimum value of a pandas column using clip

我想使用 clip 方法设置 pandas 数据框的一列的 minimum 值。下面是我的代码

import pandas as pd
data = pd.DataFrame({'date' : pd.to_datetime(['2010-12-31', '2012-12-31', '2012-12-31']), 'val' : [1,2, 5]})
data.clip(lower=pd.Series({'val': 4}), axis=1)

以上代码出错。能否请您帮忙排除错误?

您可以尝试 Series.clip 或将 date 列设置为索引,然后 DataFrame.clip

data['val'] = data['val'].clip(4)

# or

data = (data.set_index('date')
        .clip(4)
        .reset_index())
print(data)

        date  val
0 2010-12-31    4
1 2012-12-31    4
2 2012-12-31    5