[英]I am getting ValueError: could not convert string to float. Can anyone please edit this?
[英]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.