#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))))