Contents

Excel의 파이썬: 데이터 과학을 영원히 바꿀 파이썬

/images/python-in-excel-this-will-change-data-science-forever.png

작성자 이미지

산업 응용 분야의 데이터 과학 전문가로서 저는 지난 한 해 동안 격동적이면서도 짜릿한 여정을 경험했습니다. 인공지능의 급속한 발전과 획기적인 발전으로 인해 새로운 트렌드와 최첨단 기술을 따라잡기 위해 끊임없이 적응하고 재조정해야 하는 역동적인 환경이 조성되었습니다.

ChatGPT, Notable, Pandas AI, 코드 인터프리터 와 같은 도구 덕분에 글쓰기, 연구, 프로그래밍, 데이터 분석과 같은 작업을 수행하는 데 상당한 시간을 절약할 수 있었습니다.

그리고 이보다 더 좋을 수 없다고 생각했을 때 Microsoft와 Anaconda는 Python을 Excel에 통합한다고 발표했습니다!

이제 Python 프로그래밍 언어를 Microsoft Excel과 함께 사용하여 데이터 분석을 수행하고, 머신 러닝 알고리즘을 구성하고, Excel 스프레드시트 내에서 직접 그래픽 표현을 생성하는 코드를 작성할 수 있습니다.

Microsoft Excel 내에서 직접 Python 스크립트를 작성하는 기능을 활용하면 데이터 과학 전문가와 분석가 모두에게 다양한 기회를 제공하여 복잡한 데이터 작업을 처리하는 데 있어 생산성과 다재다능함을 향상시킬 수 있습니다.

데이터 과학자로 일하기 시작했을 때, 저는 대부분의 작업을 Jupyter Notebook 내에서 수행할 것이라고 예상했습니다. 하지만 제 예상과는 달리, 고위 경영진, 수혜자, 후원자들이 표 형식으로 제시된 결과를 해석하는 것을 선호했기 때문에 입사 첫날부터 Microsoft Excel에 익숙해져야 했습니다.

실제로 여러 차례 고객에게 결과를 전달하는 수단으로 Tableau 대시보드를 개발했지만, 궁극적으로는 대상 고객 사이에서 널리 사용되고 친숙한 Microsoft Excel 내에서 이러한 비주얼리제이션을 재구성해야 할 필요성을 느꼈습니다.

그리고 이것은 제 조직에만 국한된 문제가 아닙니다. 2023년 기준 전 세계 백만 개 이상의 기업과 15억 명이 Excel을 사용합니다.

데이터 실무자로서 저는 업무의 다양한 목적에 따라 Python 통합 개발 환경(IDE)과 Microsoft Excel을 모두 활용하는 경우가 많습니다. 특히 기계 학습 모델을 구성하고 데이터 세트를 조사할 때는 Python IDE를 사용하고, 이러한 분석 결과를 조직 내 다른 사람이나 고객에게 효과적으로 전달하는 수단으로 Excel 스프레드시트를 사용합니다.

Python과 Excel을 통합하면 하나의 통합 플랫폼 내에서 데이터 분석, 모델 개발, 시각화를 모두 수행할 수 있어 데이터 과학 및 분석 워크플로우의 효율성을 크게 향상시킬 수 있습니다.

아직도 확신이 서지 않으세요?

이 특별한 기능과 기능의 조합에 대해 몇 가지 가능한 응용 분야를 살펴보겠습니다.

스프레드시트 소프트웨어의 기능과 Python에서 사용할 수 있는 광범위한 라이브러리를 통합하는 것은 데이터 과학자들 사이에서 일반적인 관행입니다. 데이터 과학자들은 판다스(Pandas), 넘파이(NumPy), 사이킷-런(Scikit-learn)과 같은 도구를 활용하여 대량의 데이터를 효과적으로 조작하고 분석합니다.

1. 데이터 전처리

제 업무 중 다른 사람에게 기꺼이 위임하고 싶은 부분이 있다면, 바로 힘들고 시간이 많이 걸리는 데이터 준비 과정입니다. 이를 위해 기본 Excel 함수를 활용하는 것은 종종 번거로운 작업입니다.

최근 파이썬과 마이크로소프트 엑셀의 호환성이 향상되면서 사용자는 판다와 같은 라이브러리를 엑셀 통합 문서에 원활하게 통합할 수 있게 되어 스프레드시트 애플리케이션의 한계를 벗어나지 않고도 복잡한 데이터 필터링 및 집계 정보 처리 작업을 수행할 수 있게 되었습니다.

스프레드시트에서 판다스 데이터 프레임을 만들려면 지정된 셀에 “=PY"를 입력한 다음 커서나 기타 선택 도구를 사용하여 분석할 데이터를 선택하기만 하면 됩니다. 그런 다음 결과 데이터프레임은 Jupyter Notebook 환경에서 사용할 수 있는 것과 유사한 다양한 그룹화 및 집계 기법을 사용해 조작할 수 있습니다.

Microsoft Excel을 사용해 판다스 데이터프레임을 생성하려면 다음 단계를 따르세요:

/images/python-in-excel-this-will-change-data-science-forever.gif

출처: Microsoft

2. 기계 학습

Excel은 차트 기능 내에서 선형 회귀 및 추세선 맞춤과 같은 초보적인 도구를 제공하지만, 이는 Microsoft 스프레드시트 소프트웨어의 고유 기능을 초과하는 고급 모델링 방법을 필요로 하는 대부분의 기계 학습 애플리케이션을 처리하기에 불충분합니다.

파이썬과 Microsoft Excel의 원활한 통합을 통해 사용자는 익숙한 Excel 환경 내에서 직접 Scikit-Learn과 같은 리소스를 활용하여 복잡한 통계 모델을 구축하고 개선할 수 있습니다. 이러한 융합을 통해 모델 결과를 동적으로 시각화하고 설명할 수 있으므로 단일 플랫폼에서 모델 개발부터 정보에 기반한 의사 결정까지 중단 없이 진행할 수 있습니다.

/images/python-in-excel-this-will-change-data-science-forever-1.png

출처: Microsoft

3. 데이터 분석

Microsoft Excel 내에서 정보를 검토하는 복잡한 절차를 탐색하는 것은 수많은 문서를 동시에 조작해야 하는 사람들에게 지루한 작업일 수 있습니다. 이러한 경우 개인은 수작업으로 정보를 복제하고, 마우스를 사용하여 셀 위로 수식을 이동하고, 수동 통합을 통해 세부 정보를 통합해야 합니다.

다음과 같이 구성된 5개의 월별 매출 정보 세트를 보유하고 있는 시나리오를 가정해 보겠습니다:

/images/python-in-excel-this-will-change-data-science-forever-2.png

주어진 기간 내에 수량이 100개를 초과하는 제품 판매를 종합적으로 파악하려면 초기 단계로 각 개별 워크시트에서 관련 정보를 추출하여 기본 스프레드시트에 포함된 데이터 아래에 추가해야 합니다. 그 후 날짜 서식을 조정한 다음, 집계된 데이터의 향상된 분석 및 시각화를 위해 피벗 테이블을 만듭니다.

검색 결과의 범위를 좁히려면 필터링 메커니즘을 적용하여 특정 요구사항에 부합하는 항목을 식별해야 합니다.

업데이트된 판매 정보를 별도의 파일이나 시트로 받을 때마다 수동으로 복제하여 전송해야 합니다.

데이터 규모가 확장됨에 따라 이 작업의 복잡성과 오류에 대한 취약성이 현저히 증가합니다.

또는 다음 일련의 지침으로 구성된 간결한 Python 스크립트를 사용하여 프로세스를 단순화할 수도 있습니다:

# 1. Merge the data df_merged = pd.concat([df_jan, df_feb], ignore_index=True) # 2. Convert the date format df_merged['Date'] = pd.to_datetime(df_merged['Date']).dt.strftime('%Y-%m-%d') # 3. Compute the total units sold for each product grouped_data = df_merged.groupby('Product').agg({'Units Sold': 'sum'}).reset_index() # 4. Identify products that sold more than 100 units products_over_100 = grouped_data[grouped_data['Units Sold'] > 100] products_over_100

Python과 Excel 간의 원활한 통합을 활용하면 새로 획득한 정보를 통합하는 과정에서 코드 한 줄만 약간 조정하면 즉각적인 결과를 얻을 수 있습니다. 이러한 접근 방식은 운영 효율성을 향상시킬 뿐만 아니라 통합 환경 내에서 데이터 분석 작업 전체를 완벽하게 감독할 수 있게 해줍니다.

4. 데이터 시각화

Excel은 광범위한 차트 대안을 제공하지만 바이올린 차트, 히트 맵, 쌍 차트와 같은 특정 전문 차트 유형을 만드는 데는 그 기능이 포괄적이지 않습니다. 이러한 한계는 데이터 과학자가 플랫폼 내에서 복잡한 통계적 연관성을 시각적으로 설명하려고 할 때 어려움을 겪게 합니다.

Python 코드 실행에 능숙하면 Excel 사용자는 기본 차트 도구의 제한된 기능을 뛰어넘는 복잡한 맞춤형 비주얼리제이션을 만들기 위해 Matplotlib 및 Seaborn과 같은 강력한 라이브러리를 활용할 수 있습니다.

/images/python-in-excel-this-will-change-data-science-forever-3.png

출처: Microsoft

이 문서를 작성하는 시점에 Python-Excel 기능은 Microsoft 365 인사이더 프로그램 를 통해서만 사용할 수 있습니다. 이 기능은 아직 일반에 공개되지 않았으므로 베타 채널 인사이더 레벨에 가입하고 선택해야 액세스할 수 있습니다.

365 인사이더 프로그램에 등록하면 공식 탭에서 Python 프로그래밍을 위한 지정된 섹션을 찾을 수 있습니다. 개인화된 파이썬 코드를 작성하려면 ‘파이썬 삽입’을 선택하고 원하는 스크립팅 명령을 실행하기만 하면 됩니다.

또는 특정 셀에 “=PY” 명령을 입력하여 프로세스를 시작할 수도 있습니다.

/images/python-in-excel-this-will-change-data-science-forever-1.gif

출처: 아나콘다

코드 인터프리터 및 Notable 플러그인과 함께 ChatGPT의 등장으로 이전에는 어렵게 여겨졌던 다양한 작업을 수행하기 위해 광범위한 기술적 숙련도가 필요하지 않게 되었습니다.

실제로 이 기능은 쉼표로 구분된 값(CSV) 파일을 ChatGPT에 제출하여 처리할 수 있는 데이터 과학자 및 분석가에게 특히 유용합니다. 이 시스템은 이러한 데이터 세트에 대한 철저한 정리, 분석 및 모델 구축 작업을 손쉽게 수행할 수 있습니다.

다양한 배경과 기술 수준을 가진 개인이 데이터 과학 및 분석 관행에 대한 접근성과 포용성을 향상시키는 데 중요한 이정표가 될 것으로 생각합니다.

금융 및 마케팅 부문에 능숙한 개인은 이제 통합 개발 환경(IDE)을 설치하거나 실행할 필요 없이 Python을 활용하여 Excel 내에서 데이터를 분석할 수 있습니다.