이 두 가지가 반대라고 생각하는 것이 맞습니까? 이것은 나를 위해 혼란의 주요 원천이되었습니다.pandas/numpy의 축은 R의 MARGIN과 반대입니까?
다음은 R과 Python의 데이터 프레임의 열 합계를 찾는 예제입니다. MARGIN
및 axis
의 반대 값을 확인하십시오.
MARGIN=2
사용) R에
:
파이썬m <- matrix(1:6, nrow=2)
apply(m, MARGIN=2, mean)
[1] 1.5 3.5 5.5
(행 축, 즉 axis=0
사용) : R이 "열이므로
In [25]: m = pd.DataFrame(np.array([[1, 3, 5], [2, 4, 6]]))
In [26]: m.apply(np.mean, axis=0)
Out[26]:
0 1.5
1 3.5
2 5.5
dtype: float64
어원 및 니모닉에 감사드립니다. 불행하게도, R의 첫 번째 차원은 여전히 행을 참조합니다 ('help (apply)'에서 : 행렬 1은 행을 나타내고, 2는 행을 나타냄 **). 이 차이를 이해하거나 기억하는 또 다른 방법이 있습니까? – Heisenberg
@ Heisenberg 나는 차이가 행을 가로 지르는 것과 비교하여 각 행에 대해 작업을 수행한다고 말하고 싶습니다. numpy/pandas에서'sum (axis = 0) '을 사용할 때 우리는 행 전체에 걸쳐 합을 취하는 것을 의미합니다 (실제 열 집계입니다). – ayhan
@Hisenberg : 나는 그것을 명확히하기 위해 내 대답에 덧붙였다. 궁극적으로 기억하는 방법은 단지 그것을 연습하는 것입니다. 결국에는 생각할 필요가 없습니다. –