Как читать данные в разные группы, как указано - PullRequest
0 голосов
/ 09 мая 2018

Я использую приведенный ниже код для чтения данных из двух групп

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
dataFileName='RFInput.xlsx'
sheetName='Rawdata'
sheetNamePara='paraList'
dataRaw=pd.read_excel(dataFileName, sheetname = sheetName)
datapara=pd.read_excel(dataFileName, sheetname = sheetNamePara)

noData=len(dataRaw)
import matplotlib.pylab as plt
from sklearn.cross_validation import train_test_split
from sklearn.cross_validation import cross_val_score
from sklearn.preprocessing import StandardScaler


labels = datapara
x = dataRaw[labels]
y = dataRaw['classVariable']

RAWDATA:

A   B     C      D    E      F
0   1.2   1.6   3.2  3.2    1.6
1   1.2   1.6   3.2  3.2    1.6
2   2.6   1.9   6.5  6.5    1.9
0   1.2   1.6   3.2  3.2    1.6
1   2.6   1.9   6.5  6.5    1.9
4   1.2   1.6   3.2  3.2    1.6


paraList:
A   C  E  F
Y   N  Y  Y

A, B, C, D, E, F - мои исходные имена переменных в rawData, но я хочу извлечь только данные переменных A, C, E, F, указанные в paraList. Эти обязательные переменные перечислены в paraList, и они разделены на две группы Y & N, Я хочу прочитать данные переменных Y в x_Y, а данные переменных N в x_N.

1 Ответ

0 голосов
/ 09 мая 2018

Если я вас правильно понимаю, вы хотите подмножество вашей исходной таблицы. Вам не нужно читать файл дважды, достаточно просто проиндексировать ваш фрейм данных, например dataRaw[["A","C","E","F"]]. Вы можете либо указать это представление в другую переменную, либо скопировать его с добавлением .copy().

Но так как это довольно простой вопрос, я действительно рекомендую прочитать введение 10 минут для панд .

Редактировать
В этом случае я бы предложил сохранить список столбцов и категорий в словаре и использовать простое понимание списка, чтобы получить к ним доступ, что-то вроде этого

dic = {"A":"Y","C":"N","E":"Y","F":"Y"}
y_subset = df[[key for key,value in dic.items() if value == "Y"]]
n_subset = df[[key for key,value in dic.items() if value == "N"]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...