Я пытаюсь отфильтровать группы небольших размеров и функции фильтра фильтров ValueError: отрицательные размеры не допускаются. Я не могу опубликовать свой код, это слишком специфично, и я не могу воспроизвести проблему с помощью случайного набора данных. Кто-нибудь сталкивался с этим? Я видел другой пост за ту же ошибку, но это было не слишком полезноPandas dataframe filiter из групп малых размеров
Как работаю, я пытаюсь сделать то же самое, что фильтр делает с groupby и применяется, но он не работает должным образом , Какие-либо предложения?
dff = pd.DataFrame({'A': np.arange(8), 'B': list('aabbbbcc')})
dff['C'] = np.arange(8)
def f(x):
if len(x)>2:
return x
else:
return None
dff.groupby('B').apply(f)
B
a A B C
2 NaN NaN NaN
3 NaN NaN ...
b A B C
2 2 b 2
3 3 b 3
4 4 b 4
5 ...
c A B C
2 NaN NaN NaN
3 NaN NaN ...
dtype: object
Не было бы достаточно «dff.where (dff> 2)» для такого случая? – Manhattan
@Nanashi: Нет. Это вернет значения dataframe, где значения> 2. OP хочет группировать столбец и возвращать фрейм данных только с теми группами, которые имеют более двух строк. – exp1orer