ValueError: could not convert string to float: '$257.26' - sklearn.tree.DecisionTreeClassifier - Python
ValueError: could not convert string to float: '$257.26' - sklearn.tree.DecisionTreeClassifier - Python
我正在尝试让我的模型拟合从 Kaggle 导入的苹果股票数据中的值。
这里有一个 link 数据:
https://www.kaggle.com/tarunpaparaju/apple-aapl-historical-stock-data
这是我的代码:
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
stock_data = pd.read_csv(r"C:\Users\renuc\Documents\Rohan\Jupyter\Apple Stock\apple_stock_history.csv", skipinitialspace = True)
X = stock_data.drop(columns=['Date', 'Close/Last', 'High', 'Low'])
y = stock_data.drop(columns=['Date', 'Volume', 'Open'])
model = DecisionTreeClassifier()
model.fit(X, y)
但是,我收到一条错误消息 ValueError: could not convert string to float: '7.26'
。我相信这是因为值之前的美元符号,但我不确定如何从数据库中的所有值中删除美元符号。
(我正在使用 Jupyter)
对于一列:
stock_data = stock_data[" Close/Last"].str.strip(" $")
更通用的解决方案(适用于除 Date
和 Volume
之外的每一列):
stock_data = stock_data.drop(["Date", " Volume"], axis=1).apply(lambda x: x.str.strip(" $"))
编辑:
如果要保留所有列:
stock_data.drop(["Date", " Volume"], axis=1) = stock_data.drop(["Date", " Volume"], axis=1).apply(lambda x: x.str.strip(" $"))
在此之后,您可以删除任何您想要的列:
stock_data.drop(["Date"], axis=1, inplace=True)
我正在尝试让我的模型拟合从 Kaggle 导入的苹果股票数据中的值。
这里有一个 link 数据:
https://www.kaggle.com/tarunpaparaju/apple-aapl-historical-stock-data
这是我的代码:
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
stock_data = pd.read_csv(r"C:\Users\renuc\Documents\Rohan\Jupyter\Apple Stock\apple_stock_history.csv", skipinitialspace = True)
X = stock_data.drop(columns=['Date', 'Close/Last', 'High', 'Low'])
y = stock_data.drop(columns=['Date', 'Volume', 'Open'])
model = DecisionTreeClassifier()
model.fit(X, y)
但是,我收到一条错误消息 ValueError: could not convert string to float: '7.26'
。我相信这是因为值之前的美元符号,但我不确定如何从数据库中的所有值中删除美元符号。
(我正在使用 Jupyter)
对于一列:
stock_data = stock_data[" Close/Last"].str.strip(" $")
更通用的解决方案(适用于除 Date
和 Volume
之外的每一列):
stock_data = stock_data.drop(["Date", " Volume"], axis=1).apply(lambda x: x.str.strip(" $"))
编辑: 如果要保留所有列:
stock_data.drop(["Date", " Volume"], axis=1) = stock_data.drop(["Date", " Volume"], axis=1).apply(lambda x: x.str.strip(" $"))
在此之后,您可以删除任何您想要的列:
stock_data.drop(["Date"], axis=1, inplace=True)