условный выбор данных - PullRequest
0 голосов
/ 08 октября 2019

У меня есть Dataframe, и я пытаюсь применить к нему несколько мл алгоритмов. Я использую панды, чтобы справиться с этим, но у меня есть несколько проблем с ним:

  1. , как вы видите в 3-й ячейке, я разделил Y на Ytr и Yts. после этого датафрейм теряет имена столбцов. Я снова попытался дать имя столбцу, но он не работает.

  2. в 4-й ячейке. Я пытаюсь использовать условный оператор для создания подмножества Y, в котором значения Y1 (он называется ytr1). но он возвращает пустой фрейм данных.

любые предложения по всему коду будут очень полезны, так как я не очень разбираюсь в Pandas

примечание: если вы не работалив блокноте 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: все столбцы, кроме меток \ классов, которые равны 0 или 1 Y: последний столбец файлов CSV, загруженных как метки Xtr: доля X, которую я планирую использовать для обучения Xts: доля X, которую я планирую использовать для тестирования

...