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

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

如果單元格值小于指定值,則將數據框中的單元格乘以常數

如果單元格值小于指定值,則將數據框中的單元格乘以常數

蕭十郎 2023-07-18 16:39:09
如果單元格值小于指定值,則將數據框中的單元格乘以常數。想要做如下的事情。true 會導致發生乘法并將新值重新分配給數據幀中的單元格。false 應該保留該值。但這給出了錯誤以及我在網上看到的其他東西不起作用:if  df['value'] < 50:    df['value']=df['value']*(1*10^5)else:    df['value']=df['value']ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().我也嘗試過:df['value'] = df['value'].apply(lambda x: [y if y<=50 for y in x])但我認為我的語法是錯誤的。謝謝你的幫助!
查看完整描述

1 回答

?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

你可以做這樣的事情來得到結果。

df.loc[df['value']?<?50,?'value']?=?df['value']*(1*10**5)

如果你想使用 lambda 函數,你可以這樣做。

df['value']?=?df['value'].apply(lambda?x:?x*(1*10**5)?if?x?<?50?else?x)

同意@Grzegorz Skibinski 的觀點。這是一個更好的選擇:

df.loc[df['value']?<?50,?'value']?*=?10**5


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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