我在 Python 中有一個資料框,其中兩列用十進制格式的數字填充,例如:
a) 1.02234583 b) 0.98232131
我必須將列值轉換為特定格式,如下所示:
a) 0102234583 b) 0098232131
該欄位的強制長度為 10 個字符(2 個整數和 8 個小數),并且必須洗掉分隔符“.”。
def calculator_pu():
base = dataframe
base['PU Parte'] = 0
base['PU ContraParte'] = 0
base = base.reset_index(drop=True)
base['PU Parte'] = base['Curva Parte'] / base['Valor Base']
base['PU ContraParte'] = base['Curva ContraParte'] / base['Valor Base']
base['PU ContraParte'] = base['PU ContraParte'].round(decimals=8)
base['PU Parte'] = base['PU Parte'].round(decimals=8)
return base
這些值存盤在 base['PU Parte'] 和 base['PU ContraParte'] 中。
謝謝!
uj5u.com熱心網友回復:
一個簡單的方法,乘以10^8,轉換為int,然后是string,再zfill:
df['col'] = (df['col'].mul(10**8)
.astype(int).astype(str)
.str.zfill(10)
)
作為函式:
def calculator_pu(s):
return s.mul(10**8).astype(int).astype(str).str.zfill(10)
base[['PU Parte', 'PU ContraParte']] = base[['PU Parte', 'PU ContraParte']].apply(calculator_pu)
示例輸出:
PU Parte PU ContraParte
0 0102234582 0098232131
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/517787.html
標籤:Python熊猫格式
