我试图使用相同的表达式获取输出,但无法获取详细信息。有人能帮帮我吗?
# 将数据集分成特征集和目标变量#FTR = 全场比赛结果 (H=主队胜, D=平局, A=客队胜)import pandas as pd import numpy as npimport xgboost as xgbimport sklearn as s import matplotlib import tensorflow as tf from sklearn.linear_model import LogisticRegressionfrom sklearn.svm import SVCfrom IPython.display import display df = pd.read_csv("C:/Users/patel/Desktop/tap.csv")from IPython.display import displayX_all = df.drop(['FTR'],1)y_all = df['FTR']# 对数据进行标准化处理from sklearn.preprocessing import scale# 中心化到均值,并按组件进行单位方差缩放cols = [['FTHG','FTAG','HTHG','HTAG','HTR']]for col in cols: X_all[col] = scale(X_all[col])ValueError Traceback (most recent call last)<ipython-input-4-fa9f01c17527> in <module> 24 cols = [['FTHG','FTAG','HTHG','HTAG','HTR']] 25 for col in cols:---> 26 X_all[col] = scale(X_all[col])~\Anaconda3\lib\site-packages\sklearn\preprocessing\data.py in scale(X, axis, with_mean, with_std, copy) 143 X = check_array(X, accept_sparse='csc', copy=copy, ensure_2d=False, 144 warn_on_dtype=True, estimator='the scale function',--> 145 dtype=FLOAT_DTYPES, force_all_finite='allow-nan') 146 if sparse.issparse(X): 147 if with_mean:~\Anaconda3\lib\site-packages\sklearn\utils\validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator) 525 try: 526 warnings.simplefilter('error', ComplexWarning)--> 527 array = np.asarray(array, dtype=dtype, order=order) 528 except ComplexWarning: 529 raise ValueError("Complex data not supported\n"~\Anaconda3\lib\site-packages\numpy\core\numeric.py in asarray(a, dtype, order) 499 500 """--> 501 return array(a, dtype, copy=False, order=order) 502 503
值错误: 无法将字符串转换为浮点数: ‘D’
回答:
检查你的 tap.csv
文件。我猜测你遇到这个问题是因为你的 .csv
文件中包含了一些字符串值。从表面上看,你的 .csv
文件数据格式可能看起来是正确的,但实际上并非如此。