当我尝试将对象类型列转换为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)
答案 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