[問題] 請問df 條件新增欄位該怎麼做

作者: tuberosum (potato)   2022-09-19 20:23:43
請問各位神人
假設
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
請問該怎麼完成呢
實在想不到 感謝各位大神不吝教學 感恩
作者: Hsins (翔)   2022-09-19 20:28:00
是想不到還是懶得找...
作者: papple23g (逆道者)   2022-09-19 20:40:00
df.apply
作者: tuberosum (potato)   2022-09-19 22:06:00
qq 我試半天還是一直ERROR 我也不知道錯在哪 才上來問
作者: papple23g (逆道者)   2022-09-19 22:34:00
apply裡面要再加參數axis=1,下次把錯誤訊息一併貼上來比較好
作者: tuberosum (potato)   2022-09-19 22:50:00
我也不知道錯在哪 KeyError: 'C'前面錯誤一長串痾 成功了 感謝qq
作者: gene50814 (genechen)   2022-09-20 00:06:00
pd.np.where 或是有更多的規則可以用np.select
作者: lycantrope (阿寬)   2022-09-20 08:33:00
每篇dataframe都問差不多...
作者: lambo (Lambo)   2022-09-22 19:47:00
df.loc[df['C']>0, 'D'] = df['B']-df['A']df['D'] = df['D'].fillna(df['A']-df['B']) 供參
作者: tuberosum (potato)   2022-09-25 16:13:00
感謝各位

Links booklink

Contact Us: admin [ a t ] ucptt.com