ValueError:无法将字符串转换为浮点型:'Y'

时间:2020-07-28 03:21:08

标签: python pandas

当我尝试将对象类型列转换为float时,我得到ValueError: could not convert string to float: 'Y'

import pandas as pd
import numpy as np

df_train = pd.read_csv('loan_prediction/train_u6lujuX_CVtuZ9i.csv')
df_train_y = df_train.iloc[:, 12].values

df_train_y.astype(float)

1 个答案:

答案 0 :(得分:0)

这可能有助于您查找数据集中的非数字值。

首先,创建一个数据框,并将第12列的某些元素设置为非数字值:

import numpy as np
import pandas as pd

nrows, ncols = (10, 15)
data = np.arange(nrows * ncols).reshape((nrows, ncols))
df = pd.DataFrame(data)

df.iloc[2:5, 12] = 'x'

第二,提取第12列,并转换为数字类型:

df_2 = df.iloc[:, 12].copy()
df_2 = pd.to_numeric(df_2, errors='coerce')

第三,找到非数字值(带有布尔掩码):

mask = df_2.isna()
print(df[mask].iloc[:, 12])

2    x
3    x
4    x
Name: 12, dtype: object