Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

주어진 데이터 프레임을 다양한 방식으로 재구성하는 Python 프로그램 작성

<시간/>

Melt(),stack(),unstack() 및 pivot() 함수를 사용하여 데이터 프레임을 재구성할 수 있습니다.

해결책 1

  • 데이터 프레임을 정의합니다.

  • 용융() 함수를 적용하여 넓은 데이터 프레임 열을 행으로 변환합니다. 아래에 정의되어 있습니다.

df.melt()

예시

더 나은 이해를 위해 아래 코드를 봅시다 -

판다를 pddf =pd.DataFrame({'Id':[1,2,3],'Age':[13,14,13],'Mark':[80,90,85]})으로 가져오기 print("데이터 프레임은:\n",df)print(df.melt())

출력

데이터 프레임:Id Age Mark0 1 13 801 2 14 902 3 13 85variable value0 Id 11 Id 22 Id 33 Age 134 Age 145 Age 136 Mark 807 Mark 908 Mark 85

해결책 2

  • 데이터 프레임을 정의합니다.

  • 스택() 함수를 적용하여 데이터 프레임의 인덱스 수준을 높입니다. 아래에 정의되어 있습니다.

df.stack().to_frame()
  • 변경 사항을 되돌리려면 unstack()을 사용할 수 있습니다.

df.unstack().to_frame()

예시

더 나은 이해를 위해 아래 구현을 살펴보겠습니다. −

판다를 pddf =pd.DataFrame({'Id':[1,2,3],'Age':[13,14,13],'Mark':[80,90,85]})으로 가져오기 print("데이터 프레임은:\n",df)print(df.stack().to_frame())print(df.unstack().to_frame())

출력

데이터 프레임:Id Age Mark0 1 13 801 2 14 902 3 13 85 00 Id 1 Age 13 Mark 801 Id 2 Age 14 Mark 902 Id 3 Age 13 Mark 85 0Id 0 1 1 2 0 2 1 3Age 0 80 1 90 2 85

해결책 3

  • 데이터 프레임 정의

  • Pivot() 함수를 적용하여 Id 열을 기반으로 데이터 프레임 재구성,

df.pivot(columns='Id')

예시

더 나은 이해를 위해 아래 구현을 살펴보겠습니다. −

판다를 pddf =pd.DataFrame({'Id':[1,2,3],'Age':[13,14,13],'Mark':[80,90,85]})으로 가져오기 print("데이터 프레임은:\n",df)print(df.pivot(columns='Id'))

출력

데이터 프레임은 Id Age Mark0 1 13 801 2 14 902 3 13 85 Age MarkId 1 2 3 1 2 30 13.0 NaN NaN 80.0 NaN NaN1 NaN 14.0 NaN NaN 90.0 Na13.8 NaN Na