我有一个数据框,我试图在上面应用一些ml算法。 我用熊猫来处理它,但是我有几个问题:
我将Y分为Ytr和Yts。此后,数据框将丢失其列名。我试图再次命名该列,但它不起作用。
在第4个单元格中,Im试图使用条件语句来创建Y的子集,其中Y值为1(称为ytr1)。但它返回一个空的数据框。
对整个代码的任何建议将不胜感激,因为我对熊猫没有真正的经验
注意:如果您尚未使用jupyter笔记本,#%%只是表示一个新单元格。
#%%
from pandas import DataFrame as df
import random
import numpy as np
import pandas as pd
import re
#%%
# Preparing the DataFrame
labels = pd.read_csv(r'A:\Data Sets\Pima Indian Diabetes\labels.csv', header=None)
ll = labels.loc[:, 0].tolist()
data = pd.read_csv(r'A:\Data Sets\Pima Indian Diabetes\pima-indians-diabetes2.csv', names=ll)
i = data.columns.values.tolist() # i is the labels of the csv file
i[-1]
#%%
# Spliting the Dataset
X = data.drop(i[-1], axis=1)
Y = data.iloc[:, 8]
Y = Y.to_frame()
Y = pd.DataFrame(Y.values.reshape(-1, 1), columns=i[-1])
tr_idx = data.sample(frac=0.7).index
Xtr = df(X[X.index.isin(tr_idx)])
Xts = df(X[~X.index.isin(tr_idx)])
Ytr = df(Y[X.index.isin(tr_idx)], columns='result')
Yts = df(Y[~X.index.isin(tr_idx)], columns=i[-1])
#%%
# splitting the Classes
ytr1 = Ytr.drop(Ytr[Ytr.iloc[0]!=1].index)
X:除Labels \ classs之外的所有列(0或1) Y:加载为标签的csv文件的最后一列 Xtr:Im计划用于训练的X的分数 Xts:Im计划用于测试的X的比例