【发布时间】:2019-10-24 02:30:22
【问题描述】:
我无法将“MinTemp”列中的值分成 3 组并更新数据框。
“MinTemp”列中的值范围为 -8.2 到 33.9。
我只想要 3 个组,<= 10.0 (mintp1)、> 10.0 && <= 22.0 (mintp2) 和 > 22.0 (mintp3)。
from collections import Counter
col = 'MinTemp'
conditions = [ data_mod[col] > 22.0, (data_mod[col] > 10.0) & (data_mod[col] <= 22.0), data_mod[col] <= 10.0 ]
choices = [ 'mintp3', 'mintp2', 'mintp1' ]
data_mod["MinTemp"] = np.select(conditions, choices, default='neutral')
Counter(MinTemp)
TypeError: '>' 在 'str' 和 'float' 的实例之间不支持
【问题讨论】:
-
data_mod[col]实际上是一个字符串。 -
虽然它不能直接解决您的错误 - 一旦您将数字作为实际数字,那么如果您想做更复杂的范围,那么看起来
pd.cut可能值得一看分箱。
标签: python conditional-statements