작은 크기의 그룹을 필터링하려고하는데 필터 함수가 ValueError를 발생시킵니다. 음수 값은 허용되지 않습니다. 나는 너무 구체적인 코드를 게시하지 않으며 임의의 데이터 세트로 문제를 재현 할 수 없습니다. 아무도 이것을 보지 못했습니까? 나는 같은 오류에 대한 다른 게시물을 보았지만 너무 도움이되지 않았다.팬더 데이터 프레임이 작은 크기의 그룹을 필터링합니다.
해결 방법으로 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 : 아니오. 값이 2보다 큰 데이터 프레임 값을 반환합니다. OP는 열을 그룹화하고 두 개 이상의 행이있는 그룹 만 가진 데이터 프레임을 반환하려고합니다. – exp1orer