簡體   English   中英

我試圖將對象類型列轉換為float。 不工作

[英]I am trying to convert an object type column to float. Not working

TSRdfr["Return"] = pd.to_numeric(TSRdfr.Return, errors='coerce')

這不是將Return from Object的數據類型轉換為float64 我嘗試刪除errors ='coerce'以查看發生了什么。

我收到一個錯誤說:

無法解析位置0處的NaN

當我不使用errors = 'coerce'

返回號碼可從Refinitiv Eikon API訪問。 我假設它們太大而無法轉換為float64 有什么建議么??

請嘗試以下方法:

import pandas as pd
import re
repat = re.compile('\d+(?:\.\d+)?')

# sample data frame 
df = pd.DataFrame({'Return': ['some data 123.123', 'tick 0.12']})

df.loc[:, 'Converted'] = df.Return.apply(lambda x: float(repat.findall(x)[0]))

希望有所幫助

如果您的數字太大,您可以使用十進制庫

import decimal
decimal.getcontext().prec = 100
df[col] = df[col].map(lambda x: decimal.Decimal(x))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM