我有一列包含貨幣價格。我想將這些價格轉換為浮點數。這里的問題是,這些價格包含數千個空格。
我的初始資料框:
import numpy as np
import pandas as pd
prices = pd.Series(['239,00$','1 345,00$','1,00$','4 344,33$'])
df = pd.DataFrame(prices,columns = ["prices"])
print df
prices
0 239,00$
1 1 345,00$
2 1,00$
3 4 344,33$
我想要得到的輸出是一個資料框列,其中我的值是浮動的并且沒有空格:
prices
0 239.00
1 1345.00
2 1.00
3 4344.33
我嘗試使用replace函式洗掉字串中的空格,但它似乎不起作用。關于如何達到這個結果的任何想法?
uj5u.com熱心網友回復:
洗掉不是數字或逗號 ( [^\d,]) 的字符,然后替換,為.:
df.prices.str.replace('[^\d,]', '').str.replace(',', '.').astype(float)
0 239.00
1 1345.00
2 1.00
3 4344.33
Name: prices, dtype: float64
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/424751.html
