【发布时间】:2020-05-01 12:18:41
【问题描述】:
我有一个小数据框,仅包含两列,其中应该包含所有浮点数。所以,我有两个字段名为“价格”和“分数”。当我查看数据时,对我来说这一切都像是浮动的,但显然有些东西是一个字符串。有什么办法可以踢出这些是字符串但看起来像花车的东西?或者,有没有办法强制所有东西都是浮动的?错误出现在此处显示的最后一行,然后没有其他工作。
df = pd.read_csv('C:\\my_path\\analytics.csv')
print('done!')
modDF = df[['Price', 'Score']].copy()
modDF = modDF[:100]
for i_dataset, dataset in enumerate(datasets):
X, y = dataset
# normalize dataset for easier parameter selection
X = StandardScaler().fit_transform(X)
这是堆栈跟踪:
datasets = [modDF]
for i_dataset, dataset in enumerate(datasets):
X, y = dataset
# normalize dataset for easier parameter selection
X = StandardScaler().fit_transform(X)
Traceback (most recent call last):
File "<ipython-input-18-013c2a6bef49>", line 5, in <module>
X = StandardScaler().fit_transform(X)
File "C:\Users\rs\AppData\Local\Continuum\anaconda3\lib\site-packages\sklearn\base.py", line 553, in fit_transform
return self.fit(X, **fit_params).transform(X)
File "C:\Users\rs\AppData\Local\Continuum\anaconda3\lib\site-packages\sklearn\preprocessing\data.py", line 639, in fit
return self.partial_fit(X, y)
File "C:\Users\rs\AppData\Local\Continuum\anaconda3\lib\site-packages\sklearn\preprocessing\data.py", line 663, in partial_fit
force_all_finite='allow-nan')
File "C:\Users\rs\AppData\Local\Continuum\anaconda3\lib\site-packages\sklearn\utils\validation.py", line 496, in check_array
array = np.asarray(array, dtype=dtype, order=order)
File "C:\Users\rs\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\core\numeric.py", line 538, in asarray
return array(a, dtype, copy=False, order=order)
ValueError: could not convert string to float: 'Price'
【问题讨论】:
-
返回的错误信息是什么?
-
X.astype(float) ?
-
@Raphael 我认为如果任何数据是字符串,即使它看起来像浮点数,也会出错。
-
对@EdekiOkoh。我忘了他想拆线。
-
可以显示
modDF['price'].unique()
标签: python python-3.x machine-learning scikit-learn