因此,我正在嘗試使用 Pandas/excels,但遇到了問題。
我在 excel 中有以下負數(這就是它的格式/我剛剛開始了一份新作業并試圖開始運行,盡管對 Python 了解不多)。- 它在作業表中列為 ($246.00),但在 Excel 中的上方框中顯示為 -246)
Excel 中的負數

現在,我的代碼字串在 Jupyter 筆記本中的這一行如下所示:
apply(lambda x: float(str(x).replace(',',"").replace('(',"-").replace(')',"").replace('$',"")))
但我看到以下錯誤:
ValueError: could not convert string to float: '- 246.00'

誰能幫我理解如何解決這個問題?這周我一直沉浸在我第一周不應該發生的代碼錯誤中。
uj5u.com熱心網友回復:
這是一種可以從 excel 中獲取貨幣并將其轉換為負浮點數的方法
data = {
'Column1' : ['($246.00)']
}
df = pd.DataFrame(data)
df['Column1'] = df['Column1'].replace( '[\$,)]','', regex=True ).replace( '[(]','-', regex=True ).astype(float)
uj5u.com熱心網友回復:
因為結果中有空格,所以將其替換為 null。這是解決方案
apply(lambda x: float(str(x).replace(',',"").replace('(',"-").replace(')',"").replace('$',"").replace(' ',"")))
uj5u.com熱心網友回復:
試試這個:
apply(lambda x: -float(str(x).replace('($'," ").replace(')',""))
這使得格式化字串后的值為負,這要簡單得多。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/479025.html
