При выполнении выборки группы в Python Panda, как получить округленный образец

#python #pandas #dataframe

Вопрос:

Прямо сейчас я использую этот код python с помощью pandas библиотеки

 grouped = df.groupby('EmployeeID')
temp = grouped.apply(lambda x: x.sample(frac= 0.1) 
 

Сценарий 1: Если для EmployeeID есть 15 строк: 1, в результате я получу 2 примерных строки.
(15 строк *10%)

Сценарий 2: Если для EmployeeID 2 имеется 12 строк, я получу 1 примерную строку. (12 строк * 10%)

Мой вопрос касается scenerio 2, как мне округлить, чтобы я получил 2 строки вместо 1 строки

12 строк превращаются во временные 20, так что я могу сделать 20 строк *10% = 2 строки.

Ответ №1:

IIUC вы можете использовать math.ceil так:

 from math import ceil

grouped = df.groupby('EmployeeID')
temp = grouped.apply(lambda g: g.sample(n=ceil(0.1 * len(g))))