晕,我是python新手
首先,我想问一下将字符串转换为数组的问题。我进行了6次数据培训和2次数据测试。
有一种方法叫做nilaiPrediksi()
nilaiPrediksi意味着将“甲型肝炎”转换为“ 1”,将“乙型肝炎”转换为“ -1”
在此之前,我已经制作了nilaiTarget()并成功。但是在文件中我只写了“ 1”和“ -1”,而不是“甲型肝炎”和“乙型肝炎” 这是我成功的代码,在我更改csv中的某些数据之前:
target = df.loc[:5, "Klasifikasi"]
targetPrediksi = target.sort_index(ascending = False)
targetPrediksi.index=range(len(targetPrediksi))
nilaiTarget = pd.concat([target, targetPrediksi], axis =1)
nilaiTarget
这是我的数据集 https://drive.google.com/open?id=1lRmd4oErkTPixiuvxdumSvtbmgCndS_x
df = pd.read_csv("datalatihnodummy.csv", sep=';')
target = df.loc[:5, "Klasifikasi"]
在我添加“甲型肝炎”和“乙型肝炎”之后,这是我的nilaiPrediksi()代码
def nilaiPrediksi():
df = pd.read_csv("datalatihnodummy.csv", sep=';')
target = df.loc[:5, "Klasifikasi"]
targetPrediksi = target.sort_index(ascending = False)
targetPrediksi.index=range(len(targetPrediksi))
nilaiTarget = pd.concat([target, targetPrediksi], axis =1)
for i in range(len(nilaiTarget.index)):
targetPrediksi.loc[i, 'Hepatitis A '] = targetPrediksi.loc[i, 1]
targetPrediksi.loc[i, 'Hepatitis A '] = targetPrediksi.loc[i, -1]
return nilaiTarget
结果是“索引器太多”
我写错了语法吗?无论如何寻求帮助^^
答案 0 :(得分:1)
您可以尝试以下方法:
def nilaiPrediksi():
df = pd.read_csv("datalatihnodummy.csv", sep=';')
target = df.loc[:5, "Klasifikasi"]
targetPrediksi = target.sort_index(ascending = False)
targetPrediksi.index=range(len(targetPrediksi))
nilaiTarget = pd.concat([target, targetPrediksi], axis =1)
nilaiTarget['Klasifikasi'] = nilaiTarget['Klasifikasi'].replace({'Hepatitis A': 1, 'Hepatitis B': -1})
return nilaiTarget
输出:
Klasifikasi Klasifikasi
0 1 -1
1 1 -1
2 1 -1
3 -1 1
4 -1 1
5 -1 1