亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么打印的數據都是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 關注
  • 263 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號