我有如下所示的温度数据:Date State Temperature (F)2018-10-6 AL 152018-10-7 AL 452018-10-8 AL 672018-10-9 AL 252018-10-10 AL 552018-10-11 AL 77..我想给出一个条件语句,计算一个简单的减法,创建一个像这样的新列:if df[Temperature, i] < 65: df[Calculation, i] = 65 - df[Temperature, i]else: df[Calculation, i] = 0所以输出将是:Date State Temperature (F) Calculation2018-10-6 AL 15 02018-10-7 AL 45 02018-10-8 AL 67 22018-10-9 AL 25 02018-10-10 AL 55 02018-10-11 AL 77 12..我不确定如何使用这种类型的循环简单地遍历列。是否有捷径可寻?
1 回答
萧十郎
TA贡献1815条经验 获得超13个赞
国际大学联盟 clip_lower
df['Temperature(F)'].sub(65).clip_lower(0)
Out[377]:
0 0
1 0
2 2
3 0
4 0
5 12
Name: Temperature(F), dtype: int64
2021 年 5 月 14 日更新:
而不是 clip_lower(0) 熊猫文档 0.25.3 https://pandas.pydata.org/pandas-docs/version/0.25.3/reference/api/pandas.DataFrame.clip_lower.html指出:
0.24.0 版后已弃用:改用 clip(lower=threshold)。
所以答案是:
df['Temperature (F)'].sub(65).clip(lower = 0)
Out[6]:
0 0
1 0
2 2
3 0
4 0
5 12
Name: Temperature (F), dtype: int64
添加回答
举报
0/150
提交
取消