我是Tensorflow的新手,我需要将我的标签从分类转换为数字,因为在稍后的代码中,我将使用线性回归模型进行训练,该模型期望标签上有数字。
我的CSV文件如下(DDD列是标签(:
AAA,BBB,CCC,DDD
3,2,A,N
4,2,B,N
5,3,A,N
3,3,A,S
3,3,A,N
我的导入数据集代码如下:
dataset = pd.read_csv("dataset.csv")
train, eval = train_test_split(dataset,test_size=0.2,shuffle=False)
label_train = train.pop("DDD")
那么,我如何迭代label_train
来改变所有";N〃;至";0";(数字(和所有";S〃;至";1〃;(数字(?有tensorflow函数可以做到这一点吗?
注:
我尝试了下面的代码,但它一直显示错误Name: DDD, dtype: object /usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:30: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
for chave1,valor1 in enumerate(label_train):
if label_train[chave1] == "N":
label_train[chave1] = "0"
elif label_train[chave1] == "S":
label_train[chave1] = "1"
else:
print("Error HJ34.")
如果label_train的类型是ndarray矩阵:
idx = label_train=='N'
label_train[idx]=0