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

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

用前一行值之間的差值替換數據幀列中的選定值

用前一行值之間的差值替換數據幀列中的選定值

慕婉清6462132 2023-08-22 16:29:10
我試圖用同一行中前兩列中的值之間的差異替換 pandas 數據幀的一列中的幾個零。   A     B      C0  10    12     -21  6     3       02  5     18      03  3     11     -8我想用和C中相應值之間的差值替換列中的零。僅替換零而不替換非零值。AB
查看完整描述

3 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

嘗試:


mask = df['C'].eq(0)

df.loc[mask, 'C'] = df.loc[mask, 'A'] - df.loc[mask, 'B']


查看完整回答
反對 回復 2023-08-22
?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

給定示例,最簡單的解決方案只需刪除現有C列并生成一個新列C:


df.drop(['C'],axis=1,inplace=True)

df['C'] = df['A'] - df['B']

輸出:


  A      B       C

0 10     12     -2

1 6      3       3

2 5      18    -13

3 3      11     -8


查看完整回答
反對 回復 2023-08-22
?
米脂

TA貢獻1836條經驗 獲得超3個贊

您可以使用mask

df['C'] = df.C.mask(df.C == 0, df.A - df.B)

df

? ? A? ?B? ?C

0? 10? 12? -2

1? ?6? ?3? ?3

2? ?5? 18 -13

3? ?3? 11? -8

或者


不確定,但如果你想要這個


df.C.update(df.A - df.B)

df

? ? A? ?B? ?C

0? 10? 12? -2

1? ?6? ?3? ?3

2? ?5? 18 -13

3? ?3? 11? -8


查看完整回答
反對 回復 2023-08-22
  • 3 回答
  • 0 關注
  • 1482 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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