我正在使用足球運動員的熊貓資料框。有一列包含每個玩家的價值。問題是該列的型別是一個物件,我想將其轉換為 float64。我該怎么做?變數是Release clause。
df_fifa['Release Clause']
0 €226.5M
1 €127.1M
2 €228.1M
3 €138.6M
4 €196.4M
...
18202 €143K
18203 €113K
18204 €165K
18205 €143K
18206 €165K
Name: Release Clause, Length: 18207, dtype: object
我想把它轉換成完整的數字。例如 2 億歐元到 200.000.000 歐元和 20 萬歐元到 200.000 歐元。
我知道功能應該是
df_fifa['Release Clause'].astype(str).astype(int)
但首先我應該洗掉 €、M 和 k。我試過這個洗掉,但它沒有用
df_fifa['Release Clause'] = df_fifa['Release Clause'].replace("€","")
有誰知道怎么做?
謝謝!
uj5u.com熱心網友回復:
將您的符號€,K并M到'', * 1e3并 * 1e6和評估你的表達pd.eval:
mapping = {'€': '', 'K': ' * 1e3', 'M': ' * 1e6'}
df_fifa['Release Clause'] = \
pd.eval(df_fifa['Release Clause'].replace(mapping, regex=True))
print(df_fifa)
# Output
Release Clause
0 226500000.0
1 127100000.0
2 228100000.0
3 138600000.0
4 196400000.0
18202 143000.0
18203 113000.0
18204 165000.0
18205 143000.0
18206 165000.0
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/405249.html
標籤:
上一篇:來自命令的Makefile變數值
下一篇:我試圖使用json將變數拉入回圈
