728x90
반응형
데이터 분석 작업을 할 때 종종 반복문을 통해서 변수를 여러개 생성하고 싶을 때가 있다.
이 때, Python에서 내장 함수로 제공하는 globals()
를 사용할 수 있다.
globals()
globals()
는 현재 프로그램에 대한 모든 전역 변수와 기호가 포함된 딕셔너리를 반환한다.
이제 globals() 메서드를 통해서 전역 변수를 선언해보자.
우리는 globals() 메서드를 사용해 코드의 전역 변수를 수정할 수 있다.
globals()를 사용해 전역변수 선언 방법
globlas()["변수 이름"] = '값'
Example:
globals()["name"] = "HaSeong"
print("The name is: ", name)
Output: The name is HaSeong
반복문에서 globals()를 통해 변수 여러 개 선언
예를 들어, 아래와 같은 "언론사별로 수집한 기사들이 통합된 데이터셋"이 있다고 하자.
우리는 이 데이터셋을 "News"열에 있는 값으로 분류하여 해당 언론사별로 데이터셋을 나누고 싶다.
일반적으로 반복문을 사용하지 않고 데이터셋을 나누기 위한 코드는 아래와 같다.
JTBC_df = df[df.News == "JTBC"]
KBS_df = df[df.News == "KBS"]
SBS_df = df[df.News == "SBS"]
MBC_df = df[df.News == "MBC"]
YTN_df = df[df.News == "YTN"]
위와 같은 방식으로 선언할 변수가 5개가 아니라 100개 또는 그 이상이라면 상당히 귀찮을 것이다.
이 때, python 내장 함수인 globals()
를 사용하면 아래와 같이 선언할 수 있다.
# 언론사 리스트
news_list = ["JTBC", "KBC", "SBS", "MBC", "YTN"]
# 언론사별로 Dataframe 생성
for news in news_list:
globals()[f"{news}_df"] = df[df.News == news]
위 코드와 같이 for문과 globals()
를 통해 언론사별로 Dataframe을 생성하면, 아래와 같이 각 변수가 생성된 것을 볼 수 있다.
728x90
반응형
'Programming > Python' 카테고리의 다른 글
[Python] 가상환경 (pipenv,venv, conda) 종류 비교 및 사용법 (0) | 2024.05.05 |
---|---|
[Python] while문에서 tqdm 사용하기, 구글 이미지 크롤링(스크래핑) (0) | 2024.04.28 |
[Python] argparse 모듈 사용법 (0) | 2024.04.13 |
[Selenium] iframe에 있는 element 크롤링하기, NoSuchElementException error (0) | 2024.04.09 |
[Python] List comprehension 리스트 안에서 for문, if문 사용하기 (0) | 2024.04.09 |