apply
명명되지 않은 인수를 통해 호출 args
하거나 매개 변수에 튜플로 전달 하거나 kwds
매개 변수에 의해 사전으로 내부적으로 캡처 된 다른 키워드 인수를 통해 호출 하는 함수에 여러 개의 인수를 전달할 수 있습니다 .
예를 들어, 3에서 6 사이의 값에 대해서는 True를, 그렇지 않으면 False를 반환하는 함수를 만들어 봅시다.
s = pd.Series(np.random.randint(0,10, 10))
s
0 5
1 3
2 1
3 1
4 6
5 0
6 3
7 4
8 9
9 6
dtype: int64
s.apply(lambda x: x >= 3 and x <= 6)
0 True
1 True
2 False
3 False
4 True
5 False
6 True
7 True
8 False
9 True
dtype: bool
이 익명의 기능은 매우 유연하지 않습니다. Series에서 원하는 최소값과 최대 값을 제어하기 위해 두 개의 인수로 정규 함수를 만들어 봅시다.
def between(x, low, high):
return x >= low and x =< high
명명되지 않은 인수를 args
다음과 같이 전달하여 첫 번째 함수의 출력을 복제 할 수 있습니다 .
s.apply(between, args=(3,6))
또는 명명 된 인수를 사용할 수 있습니다
s.apply(between, low=3, high=6)
또는 둘 다의 조합
s.apply(between, args=(3,), high=6)
functools.partial
, 또는starmap
?