Примените разрезы квартилей из данных поезда к данным испытаний - PullRequest
0 голосов
/ 14 декабря 2018

Существуют ли какие-либо существующие функции Python для получения квартильных сокращений из данных поезда и применения к тестовым данным.

import pandas as pd
import numpy as np

d = {'col1': np.arange(1, 100, 1)}
train = pd.DataFrame(data=d)

d1 = {'col1': np.arange(1, 200, 2)}
test = pd.DataFrame(data = d1)

У меня около 1000 столбцов как в поезде, так и в тесте.Можно ли использовать функцию qcut pandas, чтобы сделать ее масштабируемой, или есть какие-либо другие существующие функции sklearn?

Я ожидаю получить квартиль для тестовых данных (1, 2, 3 или 4) на основеурны в поезде.

1 Ответ

0 голосов
/ 14 декабря 2018

Вы можете использовать аргумент retbins, когда вы pd.qcut набрали поезд.Используйте эти ячейки для вашего набора тестов с pd.cut, изменяя нижнюю и верхнюю границы, чтобы вы могли включить все.

import numpy as np
import pandas as pd

_, bins = pd.qcut(train.col1, q=4, retbins=True)
bins = np.concatenate(([-np.inf], bins[1:-1], [np.inf]))

# How many elements in each bin for the test set?
test.groupby(pd.cut(test.col1, bins)).size()
#col1
#(-inf, 25.5]    13
#(25.5, 50.0]    12
#(50.0, 74.5]    12
#(74.5, inf]     63
#dtype: int64
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...