![](/img/trans.png)
[英]Convert Pandas Dataframe to Float with commas and negative numbers
[英]How to convert negative strings in float numbers in pandas?
我的數據集中有一系列否定字符串。 我想將它們轉換為負浮點數,但得到ValueError: could not convert string to float: '-'
。 我想有一個與enconding格式的問題,所以我試圖取代-
與Unicode的-
連字符,但得到了同樣的錯誤呢。
我試圖用普通的連字符替換所有可能的 Unicode 代碼,但它沒有用。
我使用 Python 3.8.1 和 Pandas 1.0.2。
有什么解決方法嗎?
PS有一個類似的問題在這里,但它並沒有幫助。
這是我所做的:數據集在這里。 它被稱為'1240K+HO',擴展名為.anno。
然后:
# open file
df = pd.read_table('v42.4.1240K_HO.anno', index_col=0, usecols=['Index',
'Instance ID',
'Master ID',
'Average of 95.4% date range in calBP (defined as 1950 CE)',
'Country',
'Lat.',
'Long.'],
na_values='..')
然后我嘗試在“緯度”中轉換字符串。 列浮動數字。
# convert strings to floats
df['Lat.'] = df['Lat.'].astype(float)
問題是至少有一個'-'
值。 就是這樣,只是一個連字符,后面沒有數字。
你可以這樣做:
import numpy as np
df['Lat.'] = df['Lat.'].replace('-',np.nan)
然后這將起作用:
df['Lat.'] = df['Lat.'].astype(float)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.