Pandas 数据框的条件减法

我有如下所示的温度数据:


Date        State  Temperature (F)

2018-10-6   AL     15

2018-10-7   AL     45

2018-10-8   AL     67

2018-10-9   AL     25

2018-10-10  AL     55

2018-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)   Calculation

2018-10-6   AL     15                0

2018-10-7   AL     45                0

2018-10-8   AL     67                2

2018-10-9   AL     25                0

2018-10-10  AL     55                0

2018-10-11  AL     77                12

.

.

我不确定如何使用这种类型的循环简单地遍历列。


是否有捷径可寻?


猛跑小猪
浏览 218回答 1
1回答

萧十郎

国际大学联盟 clip_lowerdf['Temperature(F)'].sub(65).clip_lower(0)Out[377]:&nbsp;0&nbsp; &nbsp; &nbsp;01&nbsp; &nbsp; &nbsp;02&nbsp; &nbsp; &nbsp;23&nbsp; &nbsp; &nbsp;04&nbsp; &nbsp; &nbsp;05&nbsp; &nbsp; 12Name: Temperature(F), dtype: int642021 年 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&nbsp; &nbsp; &nbsp;01&nbsp; &nbsp; &nbsp;02&nbsp; &nbsp; &nbsp;23&nbsp; &nbsp; &nbsp;04&nbsp; &nbsp; &nbsp;05&nbsp; &nbsp; 12Name: Temperature (F), dtype: int64
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python