【发布时间】:2018-02-15 16:11:38
【问题描述】:
我有一个数据框,其中包含从第 1 天到第 7 天的三个人(John、Terry、Henry)的分数。
1 2 3 4 5 6 7
John 1.3 2.8 3.0 4.4 2.6 3.1 4.8
Terry 1.1 2.3 4.1 5.5 3.7 2.1 3.8
Henry 0.3 1.0 2.0 3.0 2.7 1.1 2.8
如何设置分数上限,这样一旦分数达到 > 2.5,无论分数是多少,从那天起的所有分数都是固定的
输出应该是:
1 2 3 4 5 6 7
John 1.3 2.8 2.8 2.8 2.8 2.8 2.8
Terry 1.1 2.3 4.1 4.1 4.1 4.1 4.1
Henry 0.3 1.0 2.0 3.0 3.0 3.0 3.0
尝试以下方法无效。我首先对所有 > 2.5 到“1”的数字进行布尔运算,然后对累积和应用掩码:
df = df.mask((df > 2.5).cumsum(axis=1) > 0, df)
【问题讨论】:
标签: python pandas numpy dataframe boolean