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

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

使用應用返回錯誤基于 2 列創建新列

使用應用返回錯誤基于 2 列創建新列

明月笑刀無情 2023-03-01 16:04:22
我需要基于 pandas 數據框中的 2 列創建新列這是數據框的頭部    col_1   col_20   -0.5    H11   -0.5    draw2   -0.5    H33   -0.5    H14   -1.5    H25   -0.5    H17   -2.5    H48   -0.5    A29   -0.5    H112  -1.5    draw13  9.0     draw14  -0.5    draw15  -0.5    A116  -0.5    H117  -0.5    draw18  9.0     draw19  -0.5    draw20  -0.5    H121  -0.5    H222  -3.5    A1我創建了函數:def H(d):    if d['col_1'] == -0.5 & d['col_2'].isin(['H1', 'H2', 'H3', 'H4', 'H5+']):        return 'W -0.5'    elif d['col_1'] == -0.5 & d['col_2'].isin(['A1', 'A2', 'A3', 'A4', 'A5+', 'draw']):        return 'L -0.5'    elif d['col_1'] == -1.5 & d['col_2'].isin(['H2', 'H3', 'H4', 'H5+']):        return 'W -1.5'    elif d['col_1'] == -1.5 & d['col_2'].isin(['A1', 'A2', 'A3', 'A4', 'A5+', 'draw', 'H1']):        return 'L -1.5'    elif d['col_1'] == -2.5 & d['col_2'].isin(['H3', 'H4', 'H5+']):        return 'W -2.5'    elif d['col_1'] == -2.5 & d['col_2'].isin(['A1', 'A2', 'A3', 'A4', 'A5+', 'draw', 'H1', 'H2']):        return 'L -2.5'    elif d['col_1'] == -3.5 & d['col_2'].isin(['H4', 'H5+']):        return 'W -3.5'    elif d['col_1'] == -3.5 & d['col_2'].isin(['A1', 'A2', 'A3', 'A4', 'A5+', 'draw', 'H1', 'H2', 'H3']):        return 'L -3.5'    else:        return 'und'然后使用 apply 創建新列:df['new_col'] = df.apply(H, axis=1)它返回一個錯誤:AttributeError: ("'str' object has no attribute 'isin'", 'occurred at index 0')我需要使用 apply 或任何其他方法創建新列,但我更喜歡創建一個函數然后使用 apply
查看完整描述

1 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

df.col_2是類型string不是系列

將列表更改為集合,因為在確定對象是否存在于集合中時,集合要快得多。

def H(d):

    if d['col_1'] == -0.5 and d['col_2'] in {'H1', 'H2', 'H3', 'H4', 'H5+'}:

        return 'W -0.5'

    elif d['col_1'] == -0.5 and d['col_2'] in {'A1', 'A2', 'A3', 'A4', 'A5+', 'draw'}:

        return 'L -0.5'

   ...


查看完整回答
反對 回復 2023-03-01
  • 1 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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