팬더의 DataFrame 객체에서 apply 메소드를 사용하고 있습니다. DataFrame에 단일 열이 있으면 적용된 함수가 두 번 호출되는 것 같습니다. 질문은 왜 그런가? 그리고 그 행동을 멈출 수 있습니까?팬더가 두 번 계산하는 이유
코드 :이
import pandas as pd
def mul2(x):
print 'hello'
return 2*x
df = pd.DataFrame({'a': [1,2,0.67,1.34]})
print df.apply(mul2)
가 출력 :
hello
hello
0 2.00
1 4.00
2 1.34
3 2.68
나는 '안녕하세요'함수 내에서 인쇄하고있어이 적용된다. 'hello'가 두 번 인쇄 되었기 때문에 두 번 적용됩니다. 더 중요한 것은 두 열이 있다면 '여보세요'가 3 번 인쇄된다는 것입니다. "hello"열을 4 번 인쇄하면됩니다.
코드는 :
print df.a.apply(mul2)
는 출력 :
hello
hello
hello
hello
0 2.00
1 4.00
2 1.34
3 2.68
Name: a, dtype: float64
사용하는 기능은 재귀 적입니다. 나는 그것이 필요 이상으로 재귀 계산을하는 것을 피하려고 노력하고있다. 지금 당장 문제는 아니지만 그렇게 될 수 있습니다. – piRSquared