Как получить имена столбцов из моего массива? - PullRequest
0 голосов
/ 03 сентября 2018

Я использовал выборку на основе L1, показанную здесь , чтобы выбрать подходящие столбцы из панд DataFrame X.

from sklearn.svm import LinearSVC
from sklearn.datasets import load_iris
from sklearn.feature_selection import SelectFromModel

iris = load_iris()
X, y = iris.data, iris.target

lsvc = LinearSVC(C=0.01, penalty="l1", dual=False).fit(X, y)
model = SelectFromModel(lsvc, prefit=True)
X_new = model.transform(X)

Однако мне не ясно, как я могу получить имена столбцов. Поскольку X_new это numpy массив, я попробовал это:

X_new.dtype.names

Но это ничего не возвращает. Итак, как я могу понять, какие столбцы были выбраны?

1 Ответ

0 голосов
/ 03 сентября 2018

После того, как вы преобразовали свои данные в CSV-файл, вы можете использовать pd.read_csv, чтобы перевести этот файл в информационный фрейм.

Затем вы можете использовать атрибут columns для доступа к столбцам.

Кроме того, вы можете использовать атрибут to_list, чтобы получить столбцы в виде списка.

В качестве альтернативы, вы можете использовать метод Ахмада:

import re

f = open('f.csv','r')

alllines = f.readlines()
columns = re.sub(' +',' ',alllines[0]) #delete extra space in one line
columns = columns.strip().split(',') #split using space

print(columns)

РЕДАКТИРОВАТЬ: Вопрос был решен ОП с помощью model.get_support вместо SelectFromModel.get_support

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...