看板 Python 關於我們 聯絡資訊
請問各位神人 假設 df= A. B. C. 1. 3 4 13 2. 2 7 -9 3. 5 1 0 請問 我想新增一個D欄位 當C欄位>0 D欄位生成B欄位-A欄位 否則 D欄位生成A欄位-B欄位 變成 df= A. B. C. D. 1. 3 4 13 1 2. 2 7 -9 -5 3. 5 1 0 4 請問該怎麼完成呢 實在想不到 感謝各位大神不吝教學 感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.230.30.45 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1663590225.A.845.html
Hsins: 是想不到還是懶得找... 09/19 20:28
papple23g: df.apply 09/19 20:40
tuberosum: qq 我試半天還是一直ERROR 我也不知道錯在哪 才上來問 09/19 22:06
df.apply(lambda x: x["B"]-x["A"] if x["C"]>0 else x["B"]-x["A"] 還是不能跑出來 也不知道問題在哪才詢問各位大神 ※ 編輯: tuberosum (125.230.30.45 臺灣), 09/19/2022 22:19:54
papple23g: apply裡面要再加參數axis=1,下次把錯誤訊息一併貼上來 09/19 22:34
papple23g: 比較好 09/19 22:34
tuberosum: 我也不知道錯在哪 KeyError: 'C' 09/19 22:50
tuberosum: 前面錯誤一長串 09/19 22:50
tuberosum: 痾 成功了 感謝qq 09/19 23:20
gene50814: pd.np.where 或是有更多的規則可以用np.select 09/20 00:06
lycantrope: 每篇dataframe都問差不多... 09/20 08:33
lambo: df.loc[df['C']>0, 'D'] = df['B']-df['A'] 09/22 19:47
lambo: df['D'] = df['D'].fillna(df['A']-df['B']) 供參 09/22 19:48
tuberosum: 感謝各位 09/25 16:13