[问题] 请问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