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

为什么打印的数据都是H,整列都是H,大家指教一下

为什么打印的数据都是H,整列都是H,大家指教一下

小唯快跑啊 2022-07-19 18:14:00
我有一个Dataframe数据,里面有一列是wd的数据,我想把里面对应的数据做划分,分为A~H级,自己写了一段代码,总是出错,求大家指点指点。def func_wd(x):# 定义一个分级的函数for x in data['wd']:if x < 45.0:return 'A'elif x >= 45.0 and x < 90.0:return 'B'elif x >= 90.0 and x < 135.0:return 'C'elif x >= 135.0 and x < 180.0:return 'D'elif x >= 180.0 and x < 225.0:return 'E'elif x >= 225.0 and x < 270.0:return 'F'elif x >= 270.0 and x < 315.0:return 'G'else:return 'H'data['wd'] = data.applymap(func_wd)
查看完整描述

2 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

方法用错了, 首先不能是DataFrame的applymap方法 这个方法是对每一个元素进行处理的

其次, 处理函数(你的func_wd)是接受一个值, 返回一个值, 不是接受一堆值然后循环

def func_wd(x) 这个x就是wd那一列中的某一个值, 里面直接分支返回就行了:

在map这个方法的时候, 用Series的apply:

data['wd'] = data['wd'].apply(fuc_wd)

这样就行了


查看完整回答
反对 回复 2022-07-24
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

没用过Pandas,不过f函数里的for循环看着怪怪的,函数一旦return了,就结束了吧,不会再for循环了

查看完整回答
反对 回复 2022-07-24
  • 2 回答
  • 0 关注
  • 211 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信