Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 패널(Panel)의 첫 번째 행 평균 구하기


패널(Panel) 객체가 하나 있고, 그 안에서 첫 번째 행의 평균을 구하려고 한다고 가정해 보겠습니다. 결과는 다음과 같은 형태가 됩니다.

Average of first row is:
Column1    0.274124
dtype: float64

풀이 방법

이 문제를 해결하기 위해 아래 단계를 순서대로 따라갑니다.

  • 딕셔너리의 키를 'Column1'로 설정하고, 값으로 pd.DataFrame(np.random.randn(5, 3))을 지정합니다.

data = {'Column1' : pd.DataFrame(np.random.randn(5, 3))}
  • 생성한 데이터를 패널에 할당하고 변수 p에 저장합니다.

p = pd.Panel(data)
  • 딕셔너리 키 'Column1'을 사용하여 해당 항목을 출력합니다.

print(p['Column1'])
  • major_xs(0) 메서드를 사용해 첫 번째 행(major axis의 인덱스 0)을 선택한 뒤, mean() 함수로 평균을 계산합니다.

p.major_xs(0).mean()

예제 코드

아래 전체 코드를 통해 더 쉽게 이해할 수 있습니다.

import pandas as pd
import numpy as np

data = {'Column1' : pd.DataFrame(np.random.randn(5, 3))}
p = pd.Panel(data)
print("Panel values:")
print(p['Column1'])
print("Average of first row is:")
print(p.major_xs(0).mean())

실행 결과

Panel values:
          0         1         2
0  0.629910  0.275741 -0.083281
1 -0.509143 -1.794204  0.300390
2 -1.944141  0.085508 -0.155167
3  1.551087 -0.671242 -0.838922
4 -0.643543  0.622777  1.112745
Average of first row is:
Column1    0.274124
dtype: float64

참고 사항

pandas의 Panel은 3차원 데이터를 다루기 위한 자료구조였지만, 버전 0.20.0부터 사용이 권장되지 않았으며 이후 버전에서 완전히 제거되었습니다. 현재는 3차원 데이터를 처리할 때 xarray 라이브러리나 DataFrameMultiIndex 구조를 사용하는 것이 표준적인 방법입니다. 따라서 최신 환경에서 위 코드를 실행하려면 pandas 0.25 미만 버전이 필요하다는 점을 유의하시기 바랍니다.