我从dataframe
文件中导出的csv
行超过30000行,几乎有40列。
[大部分将str
与int
功能混合。
-整数是int
浮点数和十的幂是str
看起来像这样:
Id A B
1 2.5220019e+008 1742087
2 1.7766118e+008 2223964.5
3 3.3750285e+008 2705867.8
4 97782360 2.5220019e+008
我尝试了以下代码:
import pandas as pd
import numpy as np
import geopandas as gpd
from shapely.geometry import Point, LineString, shape
df = pd.read_csv('mycsvfile.csv').astype(float)
将产生此错误消息:
ValueError: could not convert string to float: '-1.#IND'
我想这与python库无法转换的十次幂(e +)的指数命名法有关。
有没有解决的方法?
从与QuangHoang的对话中,我应该应用该功能:
pd.to_numeric(df['column'], errors='coerce')
由于几乎整个DataFrame
是str
对象,所以我运行了以下代码行:
df2 = df.apply(lambda x : pd.to_numeric(x, errors='coerce'))