首页 > 解决方案 > 使用条件语句更改变量的值

问题描述

这可能是一个简单的问题,但我无法找到解决方案。我有一个以T_wall包含数字的熊猫系列命名的变量。当该值结束时,2,000,我希望T_wall输出2,000

我尝试了 if 语句,但我继续收到错误。有任何想法吗?谢谢!

import pandas as pd
T_wall = pd.Series([1999.0, 2000.0, 2001.0, 2002.0, 2003.0])

if T_wall > 2000.0:
    T_wall = 2000.0

我收到以下错误:

ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()

标签: python

解决方案


从评论中获取一切。尽量避免for在 pandas 中使用。在这里您可以使用遮罩:

T_wall[T_wall > 2000] = 2000

apply也可以

T_wall.apply(lambda x: 2000 if x > 2000 else x)

推荐阅读