为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas :TypeError: '>=' 在 'str' 和 'float'

Pandas :TypeError: '>=' 在 'str' 和 'float'

Smart猫小萌 2021-08-14 16:23:03
我正在尝试为以下数据样本找到每个月的最大阵风:         maxtemp    mintemp meantemp    heatdays    cooldays    rain    snow precip groundsnow  maxgustdir  maxgustspd  time                                           2018-01-01 -1.3    -8.1    -4.7    22.7    0.0 0.0 1.0 0.2 17.0    26.0    54 2018-01-02 -0.9    -7.4    -4.2    22.2    0.0 0.0 0.0 0.0 17.0    26.0    41 2018-01-03 -3.0    -7.9    -5.5    23.5    0.0 0.0 0.4 0.2 17.0    27.0    70 2018-01-04 0.0 -11.0   -5.5    23.5    0.0 2.4 7.2 8.4 11.0    12.0    96 2018-01-05 10.0    -0.3    4.9 13.1    0.0 11.0    0.0 11.0    10.0    14.0    70   这是我的代码:w['maxgustspd'].resample('M').max()如您所见,我已将数据重新采样为每月,并试图获得每个月的最大值。问题是混合了浮点和字符串(即 <31)值,所以我得到了错误:TypeError: '>=' not supported between instances of 'str' and 'float'任何想法如何忽略字符串 dtypes?
查看完整描述

2 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

如果对 <31 值感兴趣,您需要进行一些清理以删除 < 并将它们转换为浮点数。如果 str 值不感兴趣,那么您可以将它们转换为 NaN 并且 .max 将忽略它们。

w.maxgustspd = w.maxgustspd.map(lambda x: x if type(x) != str else np.NaN) w['maxgustspd'].resample('M').max()


查看完整回答
反对 回复 2021-08-14
?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

你的数据的间距有点奇怪,你没有发布它是如何导入的,所以我只能冒险猜测。

你确定所有的列maxgustspd都有数据吗?当我有一个数据框系列的字符串时,我已经看到了您所描述的问题,其中有一些间隙。空白被填充为 NaN,而该系列的其余部分保持为字符串。

因此,检查您导入的数字数据的类型(并在必要时将它们转换为浮点数)...如果数据导入中有奇怪的间隙,您可能会考虑修复数据问题或导入数据,delim_whitespace=True如果列/行像在发布的数据中一样不断变化


查看完整回答
反对 回复 2021-08-14
  • 2 回答
  • 0 关注
  • 198 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号