Ming's blog

[알유파문](python)format 함수와 for문으로 변수 명 만들기(동적변수, 자동변수, globals) 본문

프로그래밍 기본 문법/알아두면 유용한 파이썬 문법

[알유파문](python)format 함수와 for문으로 변수 명 만들기(동적변수, 자동변수, globals)

H._.ming 2021. 11. 12. 14:34
반응형

안녕하세요!

오늘은 format 함수와 for 문을 이용해서

변수 명에 특정 리스트에 있는 값들을 넣어

자동으로 데이터를 만들어 보려고 해요!

 

'알아두면 유용한 파이썬 문법'

 

세번째는 동적변수를 생성하는 방법입니다.

 

데이터는 seaborn의 내장 데이터인 diamonds를 사용하도록 하겠습니다.

diamonds 데이터는 아래와 같은 구조로 이루어져 있습니다. 

import seaborn as sns
diamonds=sns.load_dataset('diamonds')
diamonds

저는 'cut' 변수 값에 따라 데이터를 나눠서 생성해보려고 합니다!

 

먼저, diamonds 데이터의 'cut' 변수를 보면 아래와 같이 5개로 이루어져 있습니다.

diamonds['cut'].value_counts()

이 5개의 값을 list 형태로 저장을 해주고 이 변수들을 이용해서 새로운 데이터를 만들어 보고자 합니다.

data_Ideal, data_Premium, data_Good 이런식으로

cut 리스트 안의 값들을 변수 명에 넣어서 새로운 데이터를 만들어 볼게요!

 

평소에 하던대로 변수 명에 for 문과 format 함수를 이용한다면 어떻게 될까요?

이렇게 오류가 발생하는 것을 볼 수 있습니다. 

변수 명에 format 함수를 이용하기 위해서는!

아래와 같이 globals() 함수를 이용해 주어야 합니다!

for i in cut:
    globals()['data_{}'.format(i)]=diamonds[diamonds['cut']==i]

이렇게 실행을 해주면 저희가 원하던 대로 'cut' 변수에 따라 데이터를 새롭게 만들 수 있습니다!

data_Ideal

 

동적으로 변수 명을 만들고 싶을 때는! 

globals()['data_{}'.format(i)]

반응형
Comments