Python ValueError:无法将字符串转换为浮点:';法兰集团';

Python ValueError:无法将字符串转换为浮点:';法兰集团';,python,numpy,scikit-learn,neural-network,one-hot-encoding,Python,Numpy,Scikit Learn,Neural Network,One Hot Encoding,我正在尝试对我正在构建的神经网络数据集中的公司列表进行OneHotEncoding from sklearn.compose import ColumnTransformer from sklearn.preprocessing import OneHotEncoder ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [1])], remainder='passthrough') X = np.array(ct.

我正在尝试对我正在构建的神经网络数据集中的公司列表进行OneHotEncoding

from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [1])], remainder='passthrough')
X = np.array(ct.fit_transform(X))
我收到了这个错误消息

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/Applications/anaconda3/envs/tenserflowReal/lib/python3.7/site-packages/sklearn/compose/_column_transformer.py in _hstack(self, Xs)
    630                                             force_all_finite=False)
--> 631                                 for X in Xs]
    632             except ValueError:

/Applications/anaconda3/envs/tenserflowReal/lib/python3.7/site-packages/sklearn/compose/_column_transformer.py in <listcomp>(.0)
    630                                             force_all_finite=False)
--> 631                                 for X in Xs]
    632             except ValueError:

/Applications/anaconda3/envs/tenserflowReal/lib/python3.7/site-packages/sklearn/utils/validation.py in inner_f(*args, **kwargs)
     72         kwargs.update({k: arg for k, arg in zip(sig.parameters, args)})
---> 73         return f(**kwargs)
     74     return inner_f

/Applications/anaconda3/envs/tenserflowReal/lib/python3.7/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, estimator)
    598                 else:
--> 599                     array = np.asarray(array, order=order, dtype=dtype)
    600             except ComplexWarning:

/Applications/anaconda3/envs/tenserflowReal/lib/python3.7/site-packages/numpy/core/_asarray.py in asarray(a, dtype, order)
     84     """
---> 85     return array(a, dtype, copy=False, order=order)
     86 

ValueError: could not convert string to float: 'FLANG Group'

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
<ipython-input-21-86f247aff9da> in <module>
      3 from sklearn.preprocessing import OneHotEncoder
      4 ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [1])], remainder='passthrough')
----> 5 X = np.array(ct.fit_transform(X))

/Applications/anaconda3/envs/tenserflowReal/lib/python3.7/site-packages/sklearn/compose/_column_transformer.py in fit_transform(self, X, y)
    551         self._validate_output(Xs)
    552 
--> 553         return self._hstack(list(Xs))
    554 
    555     def transform(self, X):

/Applications/anaconda3/envs/tenserflowReal/lib/python3.7/site-packages/sklearn/compose/_column_transformer.py in _hstack(self, Xs)
    631                                 for X in Xs]
    632             except ValueError:
--> 633                 raise ValueError("For a sparse output, all columns should"
    634                                  " be a numeric or convertible to a numeric.")
    635 

ValueError: For a sparse output, all columns should be a numeric or convertible to a numeric.
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
/Applications/anaconda3/envs/tenserflowReal/lib/python3.7/site-packages/sklearn/compose//u column\u transformer.py in_hstack(self,Xs)
630力(全部有限=假)
-->631表示X在Xs中]
632除值错误外:
/Applications/anaconda3/envs/tenserflowReal/lib/python3.7/site-packages/sklearn/compose//u column\u transformer.py in(.0)
630力(全部有限=假)
-->631表示X在Xs中]
632除值错误外:
/应用程序/anaconda3/envs/tenserflowReal/lib/python3.7/site-packages/sklearn/utils/validation.py,在内部文件中(*args,**kwargs)
72 kwargs.update({k:arg代表k,arg在zip中(sig.parameters,args)})
--->73返回f(**kwargs)
74返回内部\u f
/检查数组中的Applications/anaconda3/envs/tenserflowReal/lib/python3.7/site-packages/sklearn/utils/validation.py
598其他:
-->599数组=np.asarray(数组,顺序=order,dtype=dtype)
600除复杂警告外:
/asarray中的Applications/anaconda3/envs/tenserflowReal/lib/python3.7/site-packages/numpy/core//u asarray.py(a,数据类型,顺序)
84     """
--->85返回数组(a,数据类型,副本=False,顺序=order)
86
ValueError:无法将字符串转换为浮点:“FLANG组”
在处理上述异常期间,发生了另一个异常:
ValueError回溯(最近一次调用上次)
在里面
3从sklearn.preprocessing导入OneHotEncoder
4 ct=列变压器(变压器=[('encoder',onehotcoder(),[1])],余数='passthrough')
---->5X=np.数组(ct.拟合_变换(X))
/Applications/anaconda3/envs/tenserflowReal/lib/python3.7/site-packages/sklearn/compose//u column\u transformer.py in fit\u transform(self,X,y)
551自验证输出(Xs)
552
-->553返回自我测试(列表(Xs))
554
555 def变换(自,X):
/Applications/anaconda3/envs/tenserflowReal/lib/python3.7/site-packages/sklearn/compose//u column\u transformer.py in_hstack(self,Xs)
631表示X在Xs中]
632除值错误外:
-->633 raise VALUERROR(“对于稀疏输出,所有列都应”
634“为数字或可转换为数字。”)
635
ValueError:对于稀疏输出,所有列都应为数字或可转换为数字。
“FLANG Group”是我试图对其进行编码的公司名称之一


这些错误消息是什么意思?

我用数据集尝试了您的代码,它对我来说很好:

from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
import numpy as np
import pandas as pd

X = pd.read_csv("Updated_Set.csv", sep=';' ) 
ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [1])], remainder='passthrough')
X = np.array(ct.fit_transform(X))

你能提供你的数据“X”或它的一个伪数据吗?这样你的错误就可以用你的代码重现?当然。我该怎么做呢?看看这里的例子,代码可以用他们提供的数据在一行中运行。实际上,我在用最小的数据集创建可重现的代码时遇到了一些困难(我不熟悉编码),因此我选择了创建指向我的迷你数据集的链接。我希望这是可以接受的,并对由此造成的不便表示歉意。在本例中,X来自第2列(公司名称)-倒数第二栏。啊。谢谢你的努力。你可能知道我为什么会有这个问题吗?也许问题不在于那段代码,而在于我以前的代码?请接受我以前代码的链接。我很抱歉在这方面唠叨,但我真的需要帮助。在你的代码中,“X_-train”和“Y_-train”是“X_-train”"未定义。你能在你定义的地方添加代码吗?目前我无法运行。很抱歉。请忽略那些代码行。这是没有最后一段代码的代码。我想我知道我哪里出错了。我输入了错误的索引号。当我输入索引0时,它似乎起了作用。非常感谢你的t非常感谢您的付出和努力。