выборка данных из данных, пока у меня не будет N разных значений в 1 столбце - PullRequest
0 голосов
/ 14 января 2019

Мне нужно выбрать данные, пока у меня не будет N различных значений в 1 столбце

например:

df = pd.DataFrame([1,1,1,2,3,2,3,2,3,1,4,5,3,4,5,2,3,2], columns=['col'])

возможный результат для N = 3 может быть:

[1,1,1,2,1,2,3,1,2,3]

или:

[1,2,4,1,2,4,2,1,1,1,1]

1 Ответ

0 голосов
/ 14 января 2019

set(df['col'].values) даст вам уникальные значения в столбце.

Затем используйте list-comprehension для фильтрации значений.

import random
N = 3
x = random.sample(set(df['col'].values), N)  

op = [i for idx, i in df['col'].iteritems() if i in x]
print(op)

Выход:

[1, 1, 1, 3, 3, 3, 1, 4, 3, 4, 3]
...