<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Python 금융데이터 분석: by 백승훈</title>
      <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj</link>
      <description>ChatGPT와 Python으로 업무 효율성 제고</description>
      <language>en-us</language>
      <pubDate>2025-05-31 00:20:05 UTC</pubDate>
      <lastBuildDate>2025-06-02 07:43:29 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title>목차</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276252</link>
         <description><![CDATA[<ul><li><p>Part1&nbsp; 금융 데이터 실무와 자동화의 필요성</p></li><li><p>Part 2. 금융 데이터 자동화를 위한 파이썬 준비</p></li><li><p>Part 3. 반복 업무 자동화: 조건, 저장, 요약까지 한 번에</p></li><li><p>Part 4. ChatGPT와 함께 확장하는 자동화</p></li><li><p>Part 5. 실무 적용과 확장 전략</p><p>&nbsp;</p></li></ul><p><strong>&nbsp;</strong></p><p>&nbsp;</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/b0cbe4e6f6a6b77e10bfa7f69e55b815/image.png" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276252</guid>
      </item>
      <item>
         <title>패들렛 연결</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276254</link>
         <description><![CDATA[<p><a rel="noopener noreferrer nofollow" href="https://padlet.com/barefootlab/python-3yqwd4o2zywyxuyj">https://padlet.com/barefootlab/python-3yqwd4o2zywyxuyj</a> </p><p><br></p><p><a rel="noopener noreferrer nofollow" href="https://bit.ly/3HBkMEs">https://bit.ly/3HBkMEs</a> </p>]]></description>
         <enclosure url="https://padlet.com/barefootlab/python-3yqwd4o2zywyxuyj" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276254</guid>
      </item>
      <item>
         <title>목표</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276255</link>
         <description><![CDATA[<ul><li><p>수작업으로 반복하던 데이터 필터링, 분할 저장, 요약 집계를 파이썬 코드로 자동화합니다.</p></li><li><p>반복 조건이 많고 매일 처리해야 하는 작업을 중심으로, 실무에 바로 적용 가능한 자동화 흐름을 구성합니다.</p></li><li><p>groupby, 조건 필터링, 파일 저장 등 엑셀에서 복잡했던 루틴을 단순화합니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276255</guid>
      </item>
      <item>
         <title>파이썬의 필요성</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276262</link>
         <description><![CDATA[<ul><li><p>데이터는 늘어나고 있다.</p></li><li><p>엑셀, 파워쿼리, BI만으로는 대응이 한계에 부딪히고 있다.</p></li><li><p>파이썬은 대량 데이터, 복합 조건, 반복 작업을 해결할 수 있는 강력한 도구다.</p></li><li><p>도구에 얽매이지 말고, 파이썬을 필요할 때 꺼내 쓸 수 있는 준비가 필요하다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276262</guid>
      </item>
      <item>
         <title>데이터는 늘어나는데, 우리의 방식은 그대로입니다</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276263</link>
         <description><![CDATA[<p>금융업 실무에서 데이터는 이제 특별한 것이 아닙니다.<br>지점별 가입 데이터, 계좌 거래 이력, 연체 관리 기록, 상품별 실적 데이터 등.<br>매일같이 대량의 데이터가 쏟아집니다.</p><p>하지만,<br>이 데이터를 다루는 방식은 여전히 엑셀, 파워쿼리, BI 툴에 의존하고 있습니다.<br>수기로 데이터를 병합하고, 수식으로 조건을 필터링하며, 보고서를 작성합니다.</p><p>이 방식은 익숙하지만, 점점 커지는 데이터의 양과 복잡성을 감당하기에는 점점 버거워지고 있습니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276263</guid>
      </item>
      <item>
         <title>반복되는 문제들: 현장에서 매일 겪는 현실</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276264</link>
         <description><![CDATA[<p>10만 건이 넘는 데이터를 다루다 보면 엑셀이 멈춥니다.<br>복잡한 조건 필터를 만들다가 오류가 발생합니다.<br>매일 비슷한 병합, 필터링, 요약 작업을 수작업으로 반복합니다.</p><p>이로 인해 발생하는 문제는 명확합니다.</p><ul><li><p><strong>속도 저하</strong>: 단순한 필터링, 병합에도 수십 분이 걸립니다.</p></li><li><p><strong>오류 위험 증가</strong>: 복잡한 수식이나 매뉴얼 조작에서 실수가 빈번합니다.</p></li><li><p><strong>시간 낭비</strong>: 반복 작업에 쏟아야 하는 시간과 체력 소모.</p></li><li><p><strong>분석 여력 감소</strong>: 중요한 인사이트 도출에 쏟을 시간이 부족해집니다.</p></li></ul>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/560ef98f962558de5839c1c316f670fd/image.png" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276264</guid>
      </item>
      <item>
         <title>기존 도구들의 강점과 한계</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276265</link>
         <description><![CDATA[<p>이 도구들은 매우 유용합니다.<br>하지만 <strong>대량 데이터</strong>와 <strong>복합적인 처리</strong>가 필요한 상황에서는 한계가 명확해집니다.</p><p>&nbsp;</p><p>예를 들어, 전국 100여 개 지점에서 매일 신규 가입 데이터를 엑셀 파일로 수집하는 업무가 있다고 가정해보자. 각 파일의 구조는 비슷하지만, 지점마다 열 순서나 날짜 포맷이 조금씩 다르다. 이 데이터를 하나로 모아 매일 보고서를 만드는 작업은 단순해 보이지만, 수작업으로는 매번 복사/붙여넣기와 오류 수정의 반복이다.</p><p>파이썬에서는 glob를 사용해 특정 폴더 내의 모든 파일을 자동으로 불러오고, pandas로 열 이름을 통일하고 병합한 뒤, 날짜 기준으로 정렬까지 자동 처리할 수 있다.<br>매일 1~2시간 걸리던 작업이 단 수십 초 안에 끝나는 것이다.</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/7ce55a6b77ef0794492969c0a470e39d/image.png" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276265</guid>
      </item>
      <item>
         <title>대량 데이터가 바꿔놓은 게임의 법칙</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276266</link>
         <description><![CDATA[<p>데이터가 단순히 많아진 것이 아닙니다.<br>요구되는 작업의 복잡성도 함께 높아졌습니다.</p><ul><li><p>지점별, 등급별, 상품별로 세분화한 통계</p></li><li><p>신규 고객 중 특정 행동 패턴을 보이는 그룹 추출</p></li><li><p>연체 가능성 예측을 위한 특성별 필터링</p></li></ul><p>이러한 작업은 단순한 피벗테이블이나 필터로는 다루기 어렵습니다.<br><strong>다중 조건, 복합 로직, 반복 자동화</strong>가 필수인 시대가 온 것입니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276266</guid>
      </item>
      <item>
         <title>이럴 때 필요한 것이 파이썬입니다</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276267</link>
         <description><![CDATA[<p>파이썬은 이런 문제들을 해결할 수 있습니다.</p><ul><li><p><strong>대량 데이터 처리</strong>: numpy 기반 연산으로 수십만 ~ 수백만 건도 빠르게 처리</p></li><li><p><strong>복합 조건 적용</strong>: pandas로 여러 조건을 간단한 코드로 적용 가능</p></li><li><p><strong>반복 작업 자동화</strong>: 매일/매주 반복되는 데이터 작업을 한 번의 실행으로 완료</p></li><li><p><strong>오류 관리와 유연성</strong>: try-except 구조로 예외를 관리하고, 데이터 변화에도 유연하게 대응</p></li></ul><p>파이썬은 처음에는 조금 낯설 수 있지만,<br>한 번 익히면 금융 데이터 실무에서 <strong>'시간을 벌어주는 가장 강력한 무기'</strong>가 됩니다.</p><p>&nbsp;</p><p>연체 가능성이 있는 고객을 선별해 리스트를 추출하는 작업은 리스크 관리 업무에서 매우 중요합니다.<br>그런데 그 선별 조건은 생각보다 단순하지 않습니다. 예를 들어,</p><ul><li><p>최근 3개월 내 2회 이상 연체</p></li><li><p>평균 거래금액이 50만 원 이하</p></li><li><p>VIP 등급이 아닌 고객</p></li></ul><p>이런 조건들을 엑셀에서 구현하려면, 여러 시트를 참조하거나 피벗테이블, 보조열, 수식 조합이 필요해지고 작업 과정이 길고 실수가 발생하기 쉽습니다.</p><p>하지만 파이썬에서는 pandas를 활용해 한 줄 조건 필터링으로 이 모든 조건을 적용할 수 있습니다.<br>여기에 해당 고객 리스트를 자동 저장하거나 특정 담당자에게 메일을 보내는 프로세스까지 연동하면,<br>반복 수작업이 아닌 <strong>리스크 관리 자동화 흐름</strong>을 구축할 수 있습니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276267</guid>
      </item>
      <item>
         <title>파이썬은 선택이 아니라 경쟁력을 결정하는 핵심 도구입니다</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276268</link>
         <description><![CDATA[<p>파이썬을 쓸 수 있다고 해서 모든 업무를 파이썬으로 바꿔야 하는 것은 아닙니다.<br>엑셀로 빠르게 해결할 수 있는 일은 엑셀을 쓰면 됩니다.<br>BI 툴이 편한 작업은 BI를 쓰면 됩니다.</p><p>하지만,<br><strong>복잡하고 반복적인 대량 데이터 작업을 더 빠르고 정확하게 처리할 수 있는 사람</strong>과<br>그렇지 않은 사람 사이에는<br>업무 속도, 품질, 분석 깊이에서 점점 더 큰 차이가 벌어지고 있습니다.</p><p><strong>파이썬은 금융 데이터 실무자의 업무 경쟁력을 결정하는 핵심 도구가 되어가고 있습니다.</strong></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276268</guid>
      </item>
      <item>
         <title>현업 데이터 처리의 현실</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276269</link>
         <description><![CDATA[<p>금융 실무에서 다루는 데이터는 생각보다 훨씬 복잡하고 빠르게 늘어납니다. 상품 가입 정보, 거래 내역, 고객 등급, 연체 이력 등은 매일, 수천 건씩 들어옵니다.</p><p>이 데이터들을 엑셀이나 파워쿼리로 처리할 때 다음과 같은 상황을 많이 겪게 됩니다:</p><ul><li><p>수작업 병합 중 열 순서가 달라서 오류 발생</p></li><li><p>필터링 조건이 많아질수록 수식이 길어지고 가독성 저하</p></li><li><p>10만 건 이상의 데이터 처리 시 프로그램 다운</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276269</guid>
      </item>
      <item>
         <title>실무 사례</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276270</link>
         <description><![CDATA[<p>“매일 전국 지점에서 보내오는 가입 데이터를 병합하고, 조건에 따라 요약해서 팀별 보고서를 만들어야 합니다. 파일이 30개를 넘으면 엑셀이 느려지고, 파워쿼리도 자주 멈춥니다.”</p><p>이럴 때 파이썬을 사용하면,</p><ul><li><p>폴더 내 모든 엑셀을 자동으로 불러와 병합하고,</p></li><li><p>조건 필터링과 요약을 한 줄씩 코드로 실행하고,</p></li><li><p>필요한 리포트를 자동으로 저장하고 메일로 보낼 수 있습니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276270</guid>
      </item>
      <item>
         <title>앞으로 우리가 자동화하게 될 작업 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276271</link>
         <description><![CDATA[<p>아직은 파이썬 설치 전이므로 실습을 진행하지 않지만,<br>이후 pandas와 glob를 배우면 아래와 같은 업무를 자동화할 수 있습니다.</p><ul><li><p><strong>지점별로 저장된 5개의 엑셀 파일을 자동으로 불러와 병합하여 하나의 DataFrame으로 만들기</strong></p></li><li><p><strong>거래금액이 50만 원 이상인 고객만 필터링하여 새로운 엑셀 파일로 저장하기</strong></p></li></ul><p>이러한 작업은 모두 <strong>몇 줄의 코드로 자동화</strong>할 수 있으며, 앞으로 실습을 통해 직접 경험하게 됩니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276271</guid>
      </item>
      <item>
         <title>목표: </title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276277</link>
         <description><![CDATA[<ul><li><p>왜 자동화가 필요한지,</p></li><li><p>왜 파이썬이 중요한지,</p></li><li><p>그리고 기존 도구(엑셀/파워쿼리/BI)와의 관계를<br>현실적으로, 논리적으로 설명하고 <strong>공감대 형성</strong>하는 것이 핵심입니다.</p></li></ul><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276277</guid>
      </item>
      <item>
         <title>분석 도구 선택</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276278</link>
         <description><![CDATA[<ul><li><p>모든 걸 파이썬으로 할 필요는 없다.</p></li><li><p>각 도구의 강점과 한계를 정확히 이해해야 한다.</p></li><li><p>상황에 따라 가장 효율적인 도구를 골라야 한다.</p></li><li><p>파이썬은 필요할 때 꺼낼 수 있는 강력한 무기다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276278</guid>
      </item>
      <item>
         <title>파이썬만으로 모든 것을 해결할 필요는 없습니다</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276279</link>
         <description><![CDATA[<p>파이썬은 매우 강력한 도구입니다.<br>하지만 모든 업무를 파이썬으로 처리할 필요는 없습니다.</p><ul><li><p>간단한 데이터 확인</p></li><li><p>소규모 테이블 분석</p></li><li><p>빠른 보고서 작성 이런 작업은 여전히 엑셀이나 파워쿼리, BI 툴이 더 편리합니다.</p></li></ul><p><strong>핵심은 "상황에 따라 가장 효율적인 도구를 쓰는 것"입니다.</strong><br>파이썬은 필요할 때 꺼낼 수 있는 강력한 무기이지, 무조건 대체해야 하는 도구가 아닙니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276279</guid>
      </item>
      <item>
         <title>주요 데이터 분석 도구의 역할 정리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276280</link>
         <description><![CDATA[<p>각 도구는 저마다 강점과 한계를 가지고 있습니다.<br>이것을 이해하면 상황별로 최적의 선택을 할 수 있습니다.</p><p>※ ChatGPT는 단순한 코드 생성기를 넘어,<br><strong>데이터 작업 전체 흐름과 판단 구조를 함께 설계하는 AI 도우미</strong>입니다.</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/68e3c8ba2a0e82e6881525b206a08da4/image.png" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276280</guid>
      </item>
      <item>
         <title>상황별 도구 선택 가이드</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276281</link>
         <description><![CDATA[<p><strong>간단한 데이터 필터링, 요약 </strong>→ <strong>Excel</strong> 사용</p><ul><li><p>작은 규모(수천 건 이내)</p></li><li><p>단순 조건 필터</p></li><li><p>빠른 가시화 필요</p></li></ul><p><strong>&nbsp;</strong></p><p><strong>반복되는 전처리, 파일 통합 </strong>→ <strong>Power Query</strong> 사용</p><ul><li><p>정형화된 파일 포맷</p></li><li><p>매일/매주 업데이트되는 데이터</p></li><li><p>파일 이름/형식이 일정할 때</p></li></ul><p><strong>&nbsp;</strong></p><p><strong>대시보드 구축 및 시각화 </strong>→ <strong>Power BI</strong> 사용</p><ul><li><p>지표 모니터링</p></li><li><p>비주얼 중심의 경영 리포트</p></li><li><p>다양한 드릴다운/필터링 옵션 필요</p></li></ul><p>&nbsp;</p><p><strong>대량 데이터 처리, 복합 조건 필터링, 반복 자동화 </strong>→ <strong>Python (pandas, numpy)</strong> 사용</p><ul><li><p>10만~100만 건 이상의 데이터</p></li><li><p>다중 조건(AND/OR/복합) 필터링</p></li><li><p>파일 분할 저장, 반복 작업 자동화</p></li><li><p>데이터 구조가 수시로 변경될 가능성</p></li></ul><p><strong>&nbsp;</strong></p><p><strong>특수한 통계 분석 또는 고급 데이터 과학 </strong>→ <strong>R</strong> 사용</p><ul><li><p>로지스틱 회귀, 시계열 예측, 머신러닝</p></li><li><p>복잡한 통계 모델링</p></li><li><p>특수 분석 프로젝트</p></li></ul><p><strong>&nbsp;</strong></p><p><strong>코드 자동 생성 + 데이터 업무 설계 + 의사결정 지원 → ChatGPT 사용</strong></p><ul><li><p>반복적인 코드 작성 및 예외 처리 자동화</p></li><li><p>데이터 처리 흐름 설계 및 도구 선택 가이드</p></li><li><p>분석 방향 제안, 조건 비교, 작업 순서 추천 등 실무 판단 보조</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276281</guid>
      </item>
      <item>
         <title>현실적 조언: 툴에 얽매이지 말자</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276282</link>
         <description><![CDATA[<p><strong>"모든 것을 파이썬으로 하겠다"</strong><br><strong>"엑셀은 구식이다"</strong></p><p>이런 생각은 실무에서는 오히려 위험할 수 있습니다.</p><p>엑셀, 파워쿼리, BI 툴은 각각 필요한 순간이 있습니다.<br>파이썬은 <strong>그 틈을 메우고</strong>, <strong>보다 큰 문제를 해결할 수 있도록 확장하는 도구</strong>입니다.</p><p>핵심은 <strong>"도구는 수단일 뿐"</strong>이라는 점을 잊지 않는 것입니다.</p><p>필요한 곳에는 빠르게 엑셀을 쓰고,<br>반복적인 곳에는 파워쿼리를 쓰고,<br>대시보드는 BI를 쓰고,<br>대량 데이터 자동화에는 파이썬을 쓰는 것.</p><p>이런 유연한 접근이 결국 <strong>업무 생산성</strong>을 가장 크게 높입니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276282</guid>
      </item>
      <item>
         <title>실제 상황 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276283</link>
         <description><![CDATA[<p>한 금융사 영업팀은 매일 아침 고객 가입 추이와 상품별 판매 실적을 요약한 리포트를 작성한다.<br>기존에는 담당자가 엑셀로 데이터를 정리하고, 그래프를 만들고, PDF로 저장한 뒤 메일로 보내는 작업을 반복해야 했다.</p><p>파이썬을 활용해 이 업무를 일부 자동화한 이후에는:</p><ul><li><p>전날 데이터 자동 병합</p></li><li><p>요약 통계와 시각화 초안 자동 생성</p></li><li><p>PDF 저장 및 메일 전송은 담당자가 확인 후 실행</p></li></ul><p>반복적인 작업은 자동 처리되고, 담당자는 <strong>결과 검토와 판단 중심의 업무에 집중</strong>할 수 있게 되었다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276283</guid>
      </item>
      <item>
         <title>도구는 많지만, 상황은 다르다</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276284</link>
         <description><![CDATA[<p>엑셀, 파워쿼리, BI 툴, SQL, 파이썬. 어떤 도구를 써야 할까요? 정답은 없습니다. 중요한 건 “상황에 따라 가장 효율적인 도구를 고르는 것”입니다.</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/d337c6071b400f8b0c41a5d9333c86db/image.png" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276284</guid>
      </item>
      <item>
         <title>실무 사례</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276285</link>
         <description><![CDATA[<p>“VIP 등급이 아니면서 최근 3개월 내 연체가 2회 이상인 고객을 추출하고, 등급별로 나눠 엑셀 파일을 따로 저장한 뒤, 부서별로 메일을 보내야 해요.”</p><p>엑셀/파워쿼리로는</p><ul><li><p>조건 수식 복잡</p></li><li><p>시트 분할 수동</p></li><li><p>메일 전송은 별도 작업</p></li></ul><p>파이썬을 활용하면</p><ul><li><p>조건 필터링, 등급별 분할 저장, 메일 전송 초안 생성까지 <strong>자동화가 가능하며</strong>,</p></li><li><p><strong>담당자는 파일 내용을 확인 후 최종 전송만 진행</strong>하면 됩니다.</p></li></ul><p>반복 작업은 자동화하고, <strong>민감한 판단은 사람이 직접 확인하는 구조로 효율을 높일 수 있습니다.</strong></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276285</guid>
      </item>
      <item>
         <title>파이썬이 필요한 이유는 명확하다</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276286</link>
         <description><![CDATA[<ul><li><p>도구는 많지만, <strong>자동화와 유연성 면에서 파이썬은 독보적</strong>입니다.</p></li><li><p>수만 건 이상, 복잡한 조건, 반복 작업이 있는 상황에서는 <strong>코딩이 더 단순하고 명확한 해결책</strong>이 될 수 있습니다.</p></li></ul>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/d57565ba38089eaca94146d80a80901b/image.png" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276286</guid>
      </item>
      <item>
         <title>목표:</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276295</link>
         <description><![CDATA[<ul><li><p>파이썬 자동화를 위한 환경을 부담 없이 시작할 수 있도록 한다.</p></li><li><p>설치, 인터페이스, 파일 불러오기 등 첫 단계를 실습 중심으로 익히게 한다.</p></li><li><p>엑셀을 대체할 수 있는 최소 기능(pandas 기본기)을 직접 실행해보게 한다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276295</guid>
      </item>
      <item>
         <title>설치가 걱정이라면, 아나콘다부터 시작하세요</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276298</link>
         <description><![CDATA[<p>많은 실무자들이 “파이썬 설치는 어렵다”고 느낍니다.<br>하지만 지금은 <strong>Anaconda(아나콘다)</strong> 라는 통합 설치 프로그램 덕분에<br>별도 설정 없이도 데이터 분석에 필요한 환경을 한 번에 구성할 수 있습니다.</p><p>아나콘다에는 다음이 포함되어 있습니다.</p><ul><li><p>파이썬 언어 실행 환경</p></li><li><p>pandas, numpy 등 분석용 라이브러리</p></li><li><p>Jupyter Notebook (엑셀처럼 셀 단위로 실행할 수 있는 환경)</p></li></ul><p>✅ 설치 사이트: <a rel="noopener noreferrer nofollow" href="https://www.anaconda.com/download">https://www.anaconda.com/download</a></p><p>윈도우 사용자라면 Anaconda for Windows (64-bit)를 내려받아 설치하면 됩니다.<br>설치 후 바탕화면에서 <strong>Jupyter Notebook 실행</strong> 아이콘을 클릭하면 바로 파이썬 분석 환경이 열립니다.</p>]]></description>
         <enclosure url="https://www.anaconda.com/download" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276298</guid>
      </item>
      <item>
         <title>Jupyter Notebook: 실무자에게 친숙한 파이썬 인터페이스</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276299</link>
         <description><![CDATA[<p>Jupyter Notebook은 "셀 단위 실행" 방식으로, <strong>엑셀과 비슷한 감각</strong>으로 코드를 작성하고 실행할 수 있습니다.</p><p><br/></p><p>📌 <strong>TIP</strong>: 새 파일을 만들 때는 메뉴에서 Notebook을 선택하세요.</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/dba39af91eedf7127feb2e6d15e37981/image.png" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276299</guid>
      </item>
      <item>
         <title>엑셀 파일 불러오기</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276300</link>
         <description><![CDATA[<p>이제 직접 실습해봅니다.<br>다음 코드는 엑셀 데이터를 불러오고, 화면에 출력하는 가장 기본적인 흐름입니다.</p><p><br/></p><pre><code>import pandas as pd

import os

# 현재 작업 디렉토리 확인
print(os.getcwd())

# Working directory 변경
os.chdir(r"C:\Python\data") 
# os.chdir("C:/Python/data")도 가능

# 확인
print("현재 작업 디렉토리:", os.getcwd())

# 엑셀 파일 목록 확인
print(os.listdir())

# 엑셀 파일 불러오기
df = pd.read_excel('고객가입데이터.xlsx')
print(df.head())</code></pre><p><br/></p><ul><li><p>파일이 다른 위치에 있다면 파일 경로를 절대 경로 또는 상대 경로로 명확히 지정해야 합니다.</p></li><li><p>실습 파일은 <strong>Jupyter Notebook 실행 위치와 같은 폴더</strong>에 저장해두는 것을 권장합니다.</p></li></ul>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/91775ae5148449b8d3b773dc2fe9451c/image.png" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276300</guid>
      </item>
      <item>
         <title>pandas의 기본 구조 이해: 엑셀과 비슷하지만 훨씬 유연하다</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276301</link>
         <description><![CDATA[<p>pandas는 데이터를 <strong>DataFrame</strong>이라는 구조로 다룹니다.이는 엑셀 시트와 거의 유사한 형태입니다.</p><p><br/></p><p>예시:</p><p><br/></p><pre><code>df['고객등급']
df # 엑셀 테이블 전체</code></pre><p><br/></p><p>이 명령어는 ‘고객등급’ 열만 추출합니다.<br>엑셀에서 열을 복사하는 것과 비슷하지만, 반복성과 확장성 면에서 훨씬 강력합니다.</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/a1b145ed9d31a804ed4531bfff39f4fa/image.png" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276301</guid>
      </item>
      <item>
         <title>처음 시작할 때 자주 하는 질문 정리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276302</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/a341f47669edd3c44c7e832343debc11/image.png" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276302</guid>
      </item>
      <item>
         <title>왜 이 단계를 꼭 거쳐야 할까?</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276303</link>
         <description><![CDATA[<p>파이썬으로 자동화를 하려면,<br>엑셀 데이터를 읽고, 필터링하고, 저장하는 흐름을 자유롭게 다룰 수 있어야 합니다.<br>이 장에서는 그중 <strong>"읽기"</strong>에 해당하는 부분을 다뤘고,<br>다음 장에서는 <strong>데이터 다루기(pandas)</strong>를 심화해볼 예정입니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276303</guid>
      </item>
      <item>
         <title>실무 사례</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276304</link>
         <description><![CDATA[<p>“매일 신규 고객 리스트가 엑셀로 저장돼요. 그걸 불러와서 거래이력과 비교하려면 항상 복사하고 붙여넣어야 해요.”</p><p>파이썬에서는 엑셀 불러오기도 자동화할 수 있고, 병합까지 한 번에 처리할 수 있습니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276304</guid>
      </item>
      <item>
         <title>실습 목표 체크리스트</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276305</link>
         <description><![CDATA[<p>이번 실습의 목표는 다음과 같습니다.<br>실습을 진행하면서 아래 항목들을 하나씩 달성해봅니다.</p><ul><li><p> 엑셀 파일을 불러오고 상위 데이터를 확인한다</p></li><li><p> 두 개 이상의 엑셀 파일을 병합한다</p></li><li><p> 조건 필터링(거래금액, VIP 등급 제외)을 코드로 처리한다</p></li><li><p> 등급별로 자동 저장하는 흐름을 구현한다</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276305</guid>
      </item>
      <item>
         <title>실습</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276306</link>
         <description><![CDATA[<ul><li><p>고객가입.xlsx 파일을 불러오고 상위 5개 행을 출력해보세요.</p></li><li><p>두 개의 엑셀 파일(가입정보, 상품정보)을 병합해 상품명을 붙여보세요.</p></li><li><p>“전날 기준 거래실적 파일을 불러와서,</p><ul><li><p>누적 거래금액이 50만 원 이상이면서</p></li><li><p>VIP 등급이 아닌 고객을 추출한 뒤</p></li><li><p>등급별로 파일을 나누어 저장하는 작업을 자동화해보세요.”</p></li></ul></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276306</guid>
      </item>
      <item>
         <title>파이썬의 진짜 힘은 ‘라이브러리’에 있습니다</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276307</link>
         <description><![CDATA[<p>파이썬 자체도 강력하지만,<br>그 진짜 위력은 분야별로 특화된 라이브러리(기능 묶음)에서 나옵니다.</p><p>엑셀에서는 하나하나 기능을 손으로 조작해야 하지만,<br>파이썬에서는 라이브러리를 불러오기만 하면<br>분석, 시각화, 통계, 자동화를 손쉽게 실행할 수 있습니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276307</guid>
      </item>
      <item>
         <title>금융 실무에서 자주 쓰이는 파이썬 라이브러리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276308</link>
         <description><![CDATA[<p>금융 데이터를 다룰 때 가장 많이 쓰이는 라이브러리입니다.</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/9eb061da0efb4f69add342d5f1d954d9/image.png" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276308</guid>
      </item>
      <item>
         <title>라이브러리별 핵심 기능 미리 체험해보기</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276309</link>
         <description><![CDATA[<p>① pandas – 엑셀을 대체하는 데이터 처리 핵심 도구</p><pre><code>import pandas as pd</code></pre><pre><code>df = pd.read_excel('가입데이터.xlsx')</code></pre><pre><code>df_filtered = df[(df['연체횟수'] &gt;= 2) &amp; (df['거래금액'] &lt; 500000)]</code></pre><p>✅ 엑셀의 VLOOKUP, 필터, 수식 → 단 몇 줄로 대체 가능</p><p><br/></p><p>&nbsp;</p><p>② numpy – 대량 숫자 연산의 엔진</p><pre><code>import numpy as np</code></pre><pre><code>x = np.array([100000, 200000, 300000])</code></pre><pre><code>x.mean()</code></pre><p>✅ 연산 속도 향상, 벡터 계산에 유리</p><p>&nbsp;</p><p>③ matplotlib + seaborn – 보고용 시각화</p><pre><code>import matplotlib.pyplot as plt</code></pre><pre><code>import seaborn as sns</code></pre><pre><code>&nbsp;sns.histplot(df['거래금액'])</code></pre><pre><code>plt.title('거래금액 분포')</code></pre><pre><code>plt.show()</code></pre><p>✅ 업무 리포트에 바로 쓸 수 있는 그래프 생성</p><p>&nbsp;</p><p>④ glob – 폴더 내 모든 파일 자동 병합</p><pre><code>import glob</code></pre><pre><code>import pandas as pd</code></pre><pre><code>files = glob.glob('data/*.xlsx')</code></pre><pre><code>df = pd.concat([pd.read_excel(f) for f in files])</code></pre><p>✅ 매일 생성되는 지점별 엑셀 파일을 자동 병합 가능</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276309</guid>
      </item>
      <item>
         <title>예시 코드 1</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276310</link>
         <description><![CDATA[<pre><code>import pandas as pd</code></pre><pre><code>&nbsp;</code></pre><pre><code># 1. 연체 정보와 거래 정보 불러오기</code></pre><pre><code>overdue = pd.read_excel("연체정보.xlsx")</code></pre><pre><code>transaction = pd.read_excel("거래정보.xlsx")</code></pre><pre><code>&nbsp;</code></pre><pre><code># 2. 고객별 연체 횟수 집계</code></pre><pre><code># 👉 '연체상태' 컬럼 기준으로 고객별로 몇 건의 연체가 있는지를 count()로 계산</code></pre><pre><code># 👉 agg()는 groupby 이후 여러 개의 요약값(집계값)을 만들 때 사용하는 집계 함수</code></pre><pre><code>overdue_summary = overdue.groupby("고객ID").agg(연체횟수=("연체상태", "count")).reset_index()

# 3. 고객별 누적 거래금액 집계

# 👉 출금(-)과 입금(+)을 모두 고려하기 위해 절대값으로 변환 후 합산

transaction["거래금액"] = transaction["거래금액"].abs()

transaction_summary = transaction.groupby("고객ID").agg(거래금액=("거래금액", "sum")).reset_index()

&nbsp;

# 4. 연체 요약 + 거래 요약 병합

# 👉 고객ID 기준으로 두 집계 테이블을 병합

# 👉 how="inner"는 SQL의 INNER JOIN과 같음: 양쪽에 모두 존재하는 고객만 남김

#&nbsp;&nbsp;&nbsp;&nbsp; - 예: 연체는 했지만 거래기록이 없는 고객은 제외됨

df = pd.merge(overdue_summary, transaction_summary, on="고객ID", how="inner")

&nbsp;

# 💡 참고: 병합 방식 요약

# - how="inner" : 양쪽 다 있는 고객만 (교집합)

# - how="left"&nbsp;&nbsp; : 왼쪽(df1) 기준으로 모두 유지, 오른쪽(df2)은 없으면 NaN

# - how="outer"&nbsp; : 모든 고객 다 포함 (합집합), 없는 값은 NaN

# - how="right"&nbsp; : 오른쪽(df2) 기준으로 모두 유지

&nbsp;

# 5. 조건 필터링: 연체 2회 이상 &amp; 누적 거래금액 50만 원 초과

df_filtered = df[(df['연체횟수'] &gt;= 2) &amp; (df['거래금액'] &gt; 500000)]

&nbsp;

# 6. 결과 상위 5개 출력

print("✅ 조건을 만족하는 고객 상위 5명:")

print(df_filtered.head())</code></pre><p>&nbsp;</p><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276310</guid>
      </item>
      <item>
         <title>엑셀 데이터를 불러오는 것은 효율적인 업무 흐름을 설계하는 첫 단계입니다.</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276311</link>
         <description><![CDATA[<p>엑셀 파일은 대부분의 금융 실무자에게 가장 익숙한 데이터 포맷입니다.<br>따라서 파이썬을 활용한 효율적인 업무 흐름의 재설계는 엑셀 데이터를 <strong>불러오는 것부터 시작</strong>하는 것이 가장 자연스럽습니다.</p><p><br/></p><p>예제 코드:</p><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>&nbsp;</code></pre><pre><code>df = pd.read_excel('고객가입데이터.xlsx')</code></pre><pre><code>df.head()</code></pre><p><br/></p><p><br/></p><p>⚠️ 고객가입데이터.xlsx는 Jupyter Notebook 실행 위치의 폴더에 있어야 합니다.</p><p>&nbsp;</p><p>&nbsp;<strong><br></strong></p><p><strong>&nbsp;</strong></p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/65ceb323cbbd3149c587b09177fb8a22/image.png" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276311</guid>
      </item>
      <item>
         <title>“조건별로 나눠 저장하는 작업, 매일 수작업으로 하시나요?”</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276312</link>
         <description><![CDATA[<p>많은 금융업 실무자들이 매일 다음과 같은 업무를 반복합니다:</p><ul><li><p>거래금액 100만 원 이상 고객만 별도 저장</p></li><li><p>연체 이력이 있는 고객만 따로 정리</p></li><li><p>지점별, 담당자별로 고객 데이터를 분할 저장</p></li></ul><p>엑셀이나 파워쿼리로는 이 작업을 하려면:</p><ul><li><p>필터 후 복사 → 새 시트 붙여넣기 → 저장 반복</p></li><li><p>파워쿼리로 시도해도 분할 저장은 번거로운 루틴</p></li></ul><p>👉 <strong>파이썬에서는 조건별로 자동 분할 저장이 가능합니다.</strong></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276312</guid>
      </item>
      <item>
         <title>groupby + 반복 저장 패턴 이해하기</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276313</link>
         <description><![CDATA[<pre><code>for 등급, group in df.groupby('고객등급'):</code></pre><pre><code>&nbsp;&nbsp;&nbsp; filename = f'{등급}_고객리스트.xlsx'</code></pre><pre><code>&nbsp;&nbsp;&nbsp; group.to_excel(filename, index=False)</code></pre><p>&nbsp;</p><p>이 코드는 고객등급별로 데이터를 나눠 각각 다른 파일로 저장합니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276313</guid>
      </item>
      <item>
         <title>다양한 조건을 적용한 분할 저장 예제</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276314</link>
         <description><![CDATA[<pre><code># 연체 1회 이상 고객 중, 등급별로 저장</code></pre><pre><code>filtered = df[df['연체횟수'] &gt;= 1]</code></pre><pre><code>&nbsp;</code></pre><pre><code>for 등급, group in filtered.groupby('고객등급'):</code></pre><pre><code>&nbsp;&nbsp;&nbsp; filename = f'연체고객_{등급}.xlsx'</code></pre><pre><code>group.to_excel(filename, index=False)</code></pre><p>&nbsp;</p><ul><li><p>groupby()로 원하는 기준으로 나누고</p></li><li><p>to_excel()로 자동 저장하는 구조입니다.</p></li></ul><p>이 방식은 반복성과 유연성 측면에서 <strong>엑셀보다 월등히 유리</strong>합니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276314</guid>
      </item>
      <item>
         <title>실습 목표 체크리스트</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276315</link>
         <description><![CDATA[<p><strong>이번 실습의 목표는 다음과 같습니다.</strong><br>실습을 진행하면서 아래 항목들을 하나씩 달성해보세요.</p><ul><li><p>groupby를 활용해 데이터를 <strong>조건별로 나누어 저장</strong>한다</p></li><li><p>필터링 조건을 적용한 뒤 <strong>그룹별로 저장하는 구조</strong>를 구현한다</p></li><li><p>파일명을 고객 속성(지점명, 등급 등) 기반으로 <strong>동적으로 생성</strong>해 저장한다</p></li><li><p>여러 시트로 나누어 <strong>파일 1개에 조건별 데이터를 저장</strong>한다</p></li><li><p>저장 경로를 설정하고, <strong>분할 저장 파일을 정리/압축</strong>한다</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276315</guid>
      </item>
      <item>
         <title>실무 적용 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276316</link>
         <description><![CDATA[<p>“VIP 고객 중에서 1년 이상 거래 고객만 별도로 추출해 매주 보고해야 해요. 엑셀에서 하려면 필터 돌리고, 복사해서 파일 나누고, 저장까지 10분 이상 걸립니다.”</p><p><br/></p><p><br/></p><p>파이썬으로는 이렇게 작성할 수 있습니다:</p><pre><code>vip = df[(df['고객등급'] == 'VIP') &amp; (df['거래기간'] &gt;= 365)]
vip.to_excel('vip_1년이상.xlsx', index=False)</code></pre><p>&nbsp;</p><p>단 한 줄로 보고서 작성이 끝납니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276316</guid>
      </item>
      <item>
         <title>실습</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276317</link>
         <description><![CDATA[<p><strong>1. 단순 그룹 기준 분할 저장</strong></p><ul><li><p>고객 데이터를 ‘고객등급’ 기준으로 나누어 등급별 .xlsx 파일로 각각 저장해보세요.<br><em>(예: A.xlsx, B.xlsx, VIP.xlsx)</em></p></li><li><p>&nbsp;‘지점명’ 기준으로 데이터를 나누어, 각 지점명을 포함한 파일로 저장해보세요.<br><em>(예: 강남지점.xlsx, 분당지점.xlsx 등)</em></p></li></ul><p>&nbsp;</p><p><strong>2. 조건 필터 + 그룹 저장</strong></p><ul><li><p>거래금액이 100만 원 이상이고, 연체횟수가 1회 이상인 고객만 필터링한 후<br>고객등급별로 나누어 저장해보세요.</p></li><li><p>VIP 고객 중 연체 이력이 없는 고객만 추출한 후,<br>지점명 기준으로 나누어 저장해보세요.</p></li></ul><p>&nbsp;</p><p><strong>3. 파일명 동적 구성 + 저장</strong></p><ul><li><p>각 파일을 지점명_고객등급.xlsx 형식으로 저장해보세요.</p></li><li><p>저장하는 파일명에 오늘 날짜를 포함시켜 지점명_YYYYMMDD.xlsx 형식으로 저장해보세요.<br><em>(예: 대전지점_20240525.xlsx)</em></p></li></ul><p>&nbsp;</p><p><strong>4. 시트 분리 저장 (파일 1개에 여러 조건 저장)</strong></p><ul><li><p>고객 데이터를 등급별로 나누어 <strong>하나의 엑셀 파일에 시트로 저장</strong>해보세요.<br><em>(ExcelWriter 활용)</em></p></li><li><p>지점별로 나누어 각각 파일을 만들고, 그 안에 고객등급별 시트를 구성해 저장해보세요.<br><em>(파일 → 지점별, 시트 → 등급별)</em></p></li></ul><p>&nbsp;</p><p><strong>5. 파일 저장 경로 설정 및 정리</strong></p><ul><li><p>저장 폴더 경로를 reports/2025/05 형식으로 지정하여 파일을 저장해보세요.</p></li><li><p>조건별로 분할 저장한 파일들을 모두 하나의 폴더에 저장하고,<br>작업 완료 후 zip 파일로 압축해보세요. <em>(선택 과제)</em></p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276317</guid>
      </item>
      <item>
         <title>미니 해설</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276318</link>
         <description><![CDATA[<ul><li><p>for key, group in df.groupby('지점명')<br>→ 엑셀의 ‘필터 후 복사-붙여넣기’ 작업을 코드 한 줄로 대체할 수 있는 구조입니다.</p></li><li><p>filename = f"{지점명}_{등급}.xlsx"<br>→ 파일명 동적 생성은 반복 저장 시 가장 중요한 자동화 포인트입니다.</p></li><li><p>with pd.ExcelWriter("파일명.xlsx") as writer:<br>→ 여러 시트를 저장할 때 사용하며, 실무 리포트에 자주 활용됩니다.</p></li><li><p>os.makedirs(path, exist_ok=True)<br>→ 저장 경로가 없는 경우에도 자동으로 폴더를 생성해줘 반복 보고에 적합합니다.</p></li><li><p>shutil.make_archive()<br>→ 저장된 여러 파일을 압축(zip)할 수 있으며, 이메일 첨부나 공유에도 편리합니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276318</guid>
      </item>
      <item>
         <title>실무 응용 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276319</link>
         <description><![CDATA[<p>아래 사례와 같은 실무에 그대로 적용됩니다.</p><ul><li><p><strong>금융사 고객관리팀</strong>은 “VIP 중 연체 이력 없는 고객을 매주 등급별, 지점별로 나눠 리포트”로 저장합니다.</p></li><li><p><strong>지점 매출 분석팀</strong>은 “매일 지점별 매출 데이터를 자동 저장하고, 날짜별 폴더에 정리한 뒤 압축 후 업로드”합니다.</p></li><li><p><strong>CRM 운영팀</strong>은 고객 등급별 대상자 파일을 분리해 캠페인 대상 목록으로 활용합니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276319</guid>
      </item>
      <item>
         <title>핵심 요약</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276320</link>
         <description><![CDATA[<ul><li><p>groupby + to_excel만으로 복잡한 분할 저장 로직을 자동화할 수 있다</p></li><li><p>복합 조건 필터링과 저장을 결합하면 <strong>수작업 리포트 작성 시간을 대폭 절감</strong>할 수 있다</p></li><li><p>f-string, 날짜 삽입, 폴더 구조 지정 등은 실무 보고서 자동화에 매우 유용하다</p></li><li><p>ExcelWriter를 활용하면 파일 하나에 다중 시트를 구성할 수 있다</p></li><li><p>os, shutil 조합으로 폴더 생성부터 압축까지 일괄 처리 가능하다</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276320</guid>
      </item>
      <item>
         <title>정리 코멘트</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276321</link>
         <description><![CDATA[<p>이 장은 특히 다음과 같은 실무 반복 작업을 자동화하는 데 효과적입니다:</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/801503abbef41213f3d3ae513feb72e6/image.png" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276321</guid>
      </item>
      <item>
         <title>숫자가 많아질수록 통계와 시각화는 필수입니다</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276328</link>
         <description><![CDATA[<p>매일 수천 명의 고객 데이터를 다룰 때, 단순한 필터링만으로는 부족합니다.<br>전체의 분포를 요약하거나 시각적으로 파악할 수 있어야 패턴이 보입니다.</p><p>하지만 엑셀에서는 피벗테이블 만들고, 차트 수정하고, 저장하고…<br>매번 반복하기엔 너무 번거롭고 자동화하기 어렵습니다.</p><p>👉 파이썬에서는 단 몇 줄의 코드로 요약과 시각화까지 자동화가 가능합니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276328</guid>
      </item>
      <item>
         <title>describe(), groupby()로 요약 통계 처리하기</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276329</link>
         <description><![CDATA[<pre><code>df.describe()</code></pre><pre><code># 지점별 평균 거래금액</code></pre><pre><code>branch_summary = df.groupby('지점명')['거래금액'].mean()</code></pre><p>&nbsp;</p><ul><li><p>수치형 컬럼 전체 요약 → .describe()</p></li><li><p>특정 기준별 요약 → .groupby() + 집계함수</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276329</guid>
      </item>
      <item>
         <title>신규 고객 수 추이 시각화 예제</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276330</link>
         <description><![CDATA[<pre><code>import seaborn as sns</code></pre><pre><code>import matplotlib.pyplot as plt</code></pre><pre><code>monthly = df.groupby('가입월')['고객ID'].count().reset_index()</code></pre><pre><code>sns.barplot(x='가입월', y='고객ID', data=monthly)</code></pre><pre><code>plt.title('월별 신규 고객 수')</code></pre><pre><code>plt.show()</code></pre><p>&nbsp;</p><ul><li><p>seaborn으로 막대그래프, 선그래프, 박스플롯 등 다양한 시각화 가능</p></li><li><p>matplotlib과 함께 사용하면 제목, 저장, 폰트 등 커스터마이징 용이</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276330</guid>
      </item>
      <item>
         <title>실습 목표 체크리스트</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276331</link>
         <description><![CDATA[<p><strong>이번 실습의 목표는 다음과 같습니다.</strong><br>실습을 진행하면서 아래 항목들을 하나씩 달성해보세요.</p><ul><li><p>수치형 데이터를 .describe()와 직접 요약 방식으로 통계 분석한다</p></li><li><p>groupby()를 활용하여 지점별/등급별 집계를 수행한다</p></li><li><p>연체율 등 파생 지표를 계산하고 새 DataFrame으로 정리한다</p></li><li><p>월별 신규 고객, 연체율 추이를 시각화한다</p></li><li><p>등급/지점별 거래금액 분포를 시각화하고 커스터마이징한다</p></li><li><p>요약 통계 + 그래프를 .xlsx, .png 등으로 저장한다</p></li><li><p>보고서에 활용될 수 있도록 한 엑셀 파일에 통계와 그래프 시트를 분리 저장한다</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276331</guid>
      </item>
      <item>
         <title>실무 적용 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276332</link>
         <description><![CDATA[<p>“지점별로 신규 고객 수, 거래금액, 연체율 같은 걸 매달 요약해서 보고합니다. 그걸 매번 수작업으로 만들어야 해서 시간이 꽤 걸려요.”</p><p>파이썬에서는 조건 필터 + groupby + 시각화 → 자동 저장까지 한 번에 처리할 수 있습니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276332</guid>
      </item>
      <item>
         <title>실습</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276333</link>
         <description><![CDATA[<p><strong>1. 전체 데이터 요약</strong></p><ul><li><p>.describe()를 사용해 수치형 컬럼의 요약 통계값(평균, 표준편차, 사분위수 등)을 확인해보세요.</p></li><li><p>거래금액, 연체횟수, 거래건수 등의 컬럼을 선택적으로 요약하고,<br>통계 결과를 엑셀 파일로 저장해보세요.</p></li></ul><p><strong>&nbsp;</strong></p><p><strong>2. 기준별 집계</strong></p><ul><li><p>groupby()를 활용해 지점별 평균 거래금액과 평균 연체횟수를 계산해보세요.</p></li><li><p>고객등급, 지점명, 담당자 기준으로 다중 groupby를 적용해<br>거래금액 합계, 고객 수, 연체율 등을 요약해보세요.</p></li></ul><p>&nbsp;</p><p><strong>3. 특정 지표 계산 (파생 통계)</strong></p><ul><li><p>고객등급별 연체율 = 연체고객 수 / 전체 고객 수를 계산해보세요.</p></li><li><p>등급별 연체율을 새로운 DataFrame으로 정리한 뒤,<br>높은 순으로 정렬하고 요약 리포트로 저장해보세요.</p></li></ul><p>&nbsp;</p><p><strong>4. 추이 분석용 시각화</strong></p><ul><li><p>월별 신규 고객 수 추이를 seaborn.barplot() 또는 lineplot()으로 시각화해보세요.</p></li><li><p>연체율의 월별 변화를 선형 그래프로 시각화하고,<br>최고/최저 구간에 색상 강조나 주석을 추가해보세요.</p></li></ul><p><strong>5. 등급/지점별 비교 시각화</strong></p><ul><li><p>등급별 거래금액 분포를 박스플롯으로 그려보세요.</p></li><li><p>지점별 평균 거래금액을 막대그래프로 시각화하고,<br>matplotlib으로 제목, 축, 저장 설정을 커스터마이징해보세요.</p></li></ul><p>&nbsp;</p><p><strong>6. 결과 저장 및 보고서 활용</strong></p><ul><li><p>요약된 통계 결과나 그래프를 .png 이미지 또는 .xlsx로 저장해보세요.</p></li><li><p>한 엑셀 파일에 요약 테이블 + 통계 그래프 시트를 함께 구성해 저장해보세요.<br><em>(예: summary.xlsx 파일에 '통계', '그래프' 시트 분리 저장)</em></p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276333</guid>
      </item>
      <item>
         <title>미니 해설</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276334</link>
         <description><![CDATA[<ul><li><p>.describe()는 빠르게 전체 수치를 파악할 수 있지만, 필요한 지표만 뽑아 agg()로 커스터마이징하면 더 실용적입니다.</p></li><li><p>groupby(['등급', '지점명']) 같이 다중 집계는 피벗보다 유연하고, 조건 결합도 자유롭습니다.</p></li><li><p><strong>연체율 계산</strong>은 단순 count 대비 비율이므로 직접 계산이 필요하며, 정렬과 함께 시각화하면 인사이트가 극대화됩니다.</p></li><li><p>seaborn.barplot()은 평균값 중심 시각화에 적합하며, lineplot()은 추이 분석에 강력합니다.</p></li><li><p>matplotlib에서 ax.set_title(), fig.savefig() 등으로 커스터마이징과 저장이 가능합니다.</p></li><li><p>ExcelWriter를 사용하면 한 파일에 ‘요약’ 시트와 ‘그래프’ 시트를 분리해 넣을 수 있습니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276334</guid>
      </item>
      <item>
         <title>실무 응용 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276335</link>
         <description><![CDATA[<p>아래와 같은 실무에 그대로 적용됩니다.</p><ul><li><p><strong>지점별 실적 리포트 자동화</strong>: 평균 거래금액, 연체율, 신규 고객 수를 요약 → 매달 반복 저장</p></li><li><p><strong>등급별 마케팅 대상 추출</strong>: 연체율이 높은 고객 등급 우선 검토 및 캠페인 제외 설정</p></li><li><p><strong>시각화 기반 경영회의 자료</strong>: 연체율 추이, 고액 거래자 분포 등을 그래프로 제시</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276335</guid>
      </item>
      <item>
         <title>핵심 요약</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276336</link>
         <description><![CDATA[<ul><li><p>.describe(), groupby().agg()는 통계 요약의 기본이며 반복 보고서 작성의 핵심 도구이다</p></li><li><p>seaborn과 matplotlib을 함께 사용하면 <strong>요약 + 시각화 + 저장</strong>까지 자동화할 수 있다</p></li><li><p>연체율, 고액 고객 비율 등 <strong>파생 지표 계산</strong>은 엑셀보다 파이썬에서 명확하고 재사용 가능하다</p></li><li><p>ExcelWriter로 통계 테이블과 그래프를 한 파일로 저장하면 <strong>보고서 활용성이 높아진다</strong></p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276336</guid>
      </item>
      <item>
         <title>마무리 정리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276337</link>
         <description><![CDATA[<p>이 장은 특히 다음과 같은 반복 리포트 업무에서 매우 효과적입니다:</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/47a19f53c9a454af9ea08fa9fcae5ada/image.png" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276337</guid>
      </item>
      <item>
         <title>목표</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276343</link>
         <description><![CDATA[<ul><li><p>반복 업무 자동화를 넘어, 인간의 업무 설명을 바탕으로 ChatGPT가 코드를 생성하고 수정하는 방식까지 익힙니다.</p></li><li><p>실무자 입장에서 파이썬 코드를 직접 다 짜지 않더라도, ChatGPT의 도움을 받아 자동화 코드를 확장하는 전략을 배웁니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 00:20:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474276343</guid>
      </item>
      <item>
         <title>강사 소개</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474278448</link>
         <description><![CDATA[<p><strong>백승훈 (白昇勳, SeungHoon Baik)</strong></p><p><br/></p><p><a rel="noopener noreferrer nofollow" href="mailto:data_analytics@naver.com">data_analytics@naver.com</a></p><p><a rel="noopener noreferrer nofollow" href="https://blog.naver.com/data_analytics">https://blog.naver.com/data_analytics</a></p><p><br/></p><p><strong>주요 경력</strong></p><ul><li><p>제일제당(現 CJ) ㈜</p></li><li><p>SK Telecom㈜</p></li><li><p>SK Communications㈜</p></li><li><p>현대캐피탈㈜</p></li><li><p>베어풋 컴퍼니 주식회사</p></li></ul><p><br/></p><p><strong>학력</strong></p><ul><li><p>서울대학교 경영학과 학사</p></li><li><p>KAIST 대학원 경영과학과 석사 (마케팅 Modeling 전공)</p></li></ul><p><br/></p><p><strong>강의 경력 (</strong>2008년~ )</p><ul><li><p>추계예대, 경희대, 경북대, 경상대, 연세대 , 동국대, 부산대, 한양대, 고려대 등 대학 강의</p></li><li><p>한국 표준 협회(KSA), 생산성본부, aT농수산식품유통교육원, 중부기술교육원, 흑자경영연구소 등 공개 강의</p></li><li><p>삼성전자, KT, SK, CJ대한통운, 이마트, 골프존, KIA, NH, 후성그룹, 수산그룹, 롯데정보통신, 산업은행, 유한양행, MG새마을금고, 동원, 신세계, 롯데마트, 삼성SDS, 일진전기, 우리은행, 현대증권, 롯데삼강, 제주JDC, 서브원 등 기업체 사내 강의</p></li><li><p>여행업 협회 회원 대상 강의, 청년 취업 아카데미 강의, 산업방송 강의, BIO21센터 강의, 대구경북과학기술원(DGIST) 강의, 충남 테크노파크, 대전 테크노파크, 제주 테크노파크 강의, 제주 바이오센터 강의, 제주하이테크산업진흥원 강의, 대구 상공회의소 강의, 능력개발교육원 교강사 대상 강의, 한국관광공사 강의</p></li></ul><p><br/></p><p><strong>강의 분야</strong></p><ul><li><p>마케팅전략, 신시장/신제품 개발전략</p></li><li><p>마케팅통계분석, 수요예측 데이터 분석, 고객데이터 분석, 구매 데이터 분석, SCM 물류 효율화, 합리적 기획을 위한 데이터 분석, R활용 데이터 분석 실무</p></li></ul><p><br/></p><p><strong>저서</strong></p><ul><li><p>판단의 기술(2025)</p></li></ul>]]></description>
         <enclosure url="https://blog.naver.com/data_analytics" />
         <pubDate>2025-05-31 00:26:41 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474278448</guid>
      </item>
      <item>
         <title>미니 해설</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474303823</link>
         <description><![CDATA[<p>💡 왜 groupby를 사용할까?<br>→ 등급별로 데이터를 나누는 가장 직관적이면서 반복이 쉬운 방법이기 때문입니다.</p><p>💡 왜 f-string으로 파일명을 저장할까?<br>→ 자동화된 파일명을 만들기 위해 조건 값을 동적으로 삽입할 수 있습니다.</p><p>💡 조건이 2개 이상일 때는 &amp; 와 () 괄호로 논리를 명확히 구분해야 오류를 방지할 수 있습니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 01:35:03 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474303823</guid>
      </item>
      <item>
         <title>실무 응용 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474304694</link>
         <description><![CDATA[<p>“이 방식은 실제 한 카드사에서 매일 VIP 미방문 고객을 추출해 등급별 리포트를 자동 생성하는 데 쓰이고 있습니다.”</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 01:36:55 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474304694</guid>
      </item>
      <item>
         <title>핵심 요약</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474304828</link>
         <description><![CDATA[<ul><li><p>Anaconda 설치만으로 파이썬 분석 환경을 쉽게 시작할 수 있다.</p></li><li><p>Jupyter Notebook은 엑셀처럼 셀 단위로 코드를 실행할 수 있는 친숙한 환경이다.</p></li><li><p>pandas를 이용하면 엑셀 파일을 불러오고, 특정 열을 추출하고, 데이터를 가공할 수 있다.</p></li><li><p>이 과정은 금융 데이터 자동화를 위한 첫 단계다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 01:37:12 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474304828</guid>
      </item>
      <item>
         <title>실습 코드</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474351626</link>
         <description><![CDATA[<pre><code># 📁 Step 1: 고객 정보 불러오기
import pandas as pd
customer = pd.read_excel("customer.xlsx")</code></pre><pre><code># 고객 정보 상위 5개 출력
print("✅ 고객 정보 상위 5개:")
print(customer.head())</code></pre><pre><code># 📁 Step 2: 가입정보 + 상품정보 병합 (상품명 붙이기)
subscription = pd.read_excel("subscription.xlsx")
product = pd.read_excel("product.xlsx")

# 상품코드를 기준으로 병합
subscription_merged = pd.merge(subscription, product, on='product_code', how='left')
print("\n✅ 가입정보 + 상품명 병합 결과 상위 5개:")
print(subscription_merged.head())

# 📁 Step 3: 거래 데이터 불러오기 (파일명 변경 반영)
transaction = pd.read_excel("transaction.xlsx")

# 📊 Step 4: 누적 거래금액 계산
trans_summary = transaction.groupby('cust_id', as_index=False)['amount'].sum()
trans_summary.rename(columns={'amount': '누적거래금액'}, inplace=True)

# 📎 Step 5: 고객 정보와 병합
customer_full = pd.merge(customer, trans_summary, on='cust_id', how='left')
customer_full['누적거래금액'] = customer_full['누적거래금액'].fillna(0)

# 💡 Step 6: 실습용 고객 등급 생성 (상위 20% = VIP, 다음 30% = GOLD, 나머지 = NORMAL)
customer_full = customer_full.sort_values('누적거래금액', ascending=False).reset_index(drop=True)
total = len(customer_full)
vip_cut = int(total * 0.2)
gold_cut = int(total * 0.5)

def assign_grade(idx):
&nbsp;&nbsp;&nbsp; if idx &lt; vip_cut:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "VIP"
&nbsp;&nbsp;&nbsp; elif idx &lt; gold_cut:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "GOLD"
&nbsp;&nbsp;&nbsp; else:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "NORMAL"
customer_full['grade'] = customer_full.index.map(assign_grade)

# ✅ 등급 분포 확인
print("\n🎯 고객 등급 분포:")
print(customer_full['grade'].value_counts())

# 🧪 Step 7: 조건 필터링 – 누적거래금액 50만 이상 &amp; VIP 제외

# 💡 조건이 2개 이상일 때는 &amp; 와 괄호로 논리를 명확히 구분해야 오류를 방지할 수 있습니다
filtered = customer_full[
&nbsp;&nbsp;&nbsp; (customer_full['누적거래금액'] &gt;= 500000) &amp; (customer_full['grade'] != 'VIP')
]

# 🗂️ Step 8: 등급별 파일로 나누어 저장
# 💡 groupby를 사용하는 이유: 등급별로 데이터를 나누는 가장 직관적이면서 반복이 쉬운 방법이기 때문입니다
# 💡 f-string으로 파일명을 저장하는 이유: 자동화된 파일명을 만들기 위해 조건 값을 동적으로 삽입할 수 있습니다
for grade, group in filtered.groupby('grade'):
    filename = f"고객리스트_{grade}.xlsx"
    group.to_excel(filename, index=False)
    print(f"📁 저장 완료: {filename}")

# ✅ Step 9: 최종 결과 미리보기
print("\n🔍 추출된 고객 데이터 예시:")
print(filtered[['cust_id', 'name', 'grade', '누적거래금액']].head())

# 📂 저장된 GOLD, NORMAL 등급 파일 열기
gold_df = pd.read_excel("고객리스트_GOLD.xlsx")
normal_df = pd.read_excel("고객리스트_NORMAL.xlsx")

# 🔍 GOLD 등급 고객 상위 5개
print("\n🟨 GOLD 등급 고객 상위 5개:")
print(gold_df[['cust_id', 'name', 'grade', '누적거래금액']].head())

# 🔍 NORMAL 등급 고객 상위 5개
print("\n🟩 NORMAL 등급 고객 상위 5개:")
print(normal_df[['cust_id', 'name', 'grade', '누적거래금액']].head())
</code></pre><p>&nbsp;</p><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 03:33:15 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474351626</guid>
      </item>
      <item>
         <title>✅ 핵심 함수 설명 정리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474380199</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/94a601721c38ed88c94a74fddfb1600b/image.png" />
         <pubDate>2025-05-31 04:59:19 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474380199</guid>
      </item>
      <item>
         <title>pd.merge 옵션(how=) 정리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474380350</link>
         <description><![CDATA[<p>how='left' ⇒ 왼쪽 테이블을 기준으로 정보 보존</p><ul><li><p>왼쪽 테이블의 행은 무조건 포함</p></li><li><p>오른쪽 테이블은 조건(on)이 일치할 때만 붙음</p></li></ul><p>how='right' ⇒ 오른쪽 테이블을 기준으로 정보 보존</p><ul><li><p>오른쪽 테이블의 행은 무조건 포함</p></li><li><p>왼쪽 테이블은 조건(on)이 일치할 때만 붙음</p></li></ul><p>how='inner' ⇒ &nbsp;교집합 (공통 키가 있을 때만 병합)</p><ul><li><p>양쪽 모두에 존재하는 키만 포함</p></li></ul><p>how='outer' ⇒ 일치하지 않으면 NaN으로 채움 (합집합)</p><ul><li><p>양쪽 테이블의 키 전체를 포함</p></li></ul>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/4d1d117e811bfebdf460ab466c3e3220/image.png" />
         <pubDate>2025-05-31 04:59:53 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474380350</guid>
      </item>
      <item>
         <title>pd.merge 비교 코드</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474499461</link>
         <description><![CDATA[<pre><code>import pandas as pd</code></pre><pre><code># 예제 데이터: 고객 마스터 테이블 (왼쪽)</code></pre><pre><code>df_left = pd.DataFrame({</code></pre><pre><code>&nbsp;&nbsp;&nbsp; '고객ID': [1, 2, 3],</code></pre><pre><code>&nbsp;&nbsp;&nbsp; '이름': ['김철수', '이영희', '박민수']</code></pre><pre><code>})</code></pre><pre><code># 예제 데이터: 거래 요약 테이블 (오른쪽)</code></pre><pre><code>df_right = pd.DataFrame({</code></pre><pre><code>&nbsp;&nbsp;&nbsp; '고객ID': [2, 3, 4],</code></pre><pre><code>&nbsp;&nbsp;&nbsp; '거래금액': [100000, 250000, 300000]</code></pre><pre><code>})</code></pre><pre><code>&nbsp;</code></pre><pre><code># LEFT JOIN: 왼쪽(df_left)을 기준으로 병합</code></pre><pre><code>left_join = pd.merge(df_left, df_right, on='고객ID', how='left')</code></pre><pre><code>print("📌 [LEFT] 왼쪽 기준 병합 결과:")</code></pre><pre><code>print(left_join)</code></pre><pre><code>print("-" * 40)

# RIGHT JOIN: 오른쪽(df_right)을 기준으로 병합
right_join = pd.merge(df_left, df_right, on='고객ID', how='right')
print("📌 [RIGHT] 오른쪽 기준 병합 결과:")
print(right_join)
print("-" * 40)

# INNER JOIN: 양쪽 모두 있는 고객만 남김
inner_join = pd.merge(df_left, df_right, on='고객ID', how='inner')
print("📌 [INNER] 교집합 병합 결과:")
print(inner_join)
print("-" * 40)

# OUTER JOIN: 모든 고객 포함 (합집합)
outer_join = pd.merge(df_left, df_right, on='고객ID', how='outer')
print("📌 [OUTER] 합집합 병합 결과:")
print(outer_join)</code></pre><p>&nbsp;</p><p><br></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 11:28:33 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474499461</guid>
      </item>
      <item>
         <title>예시 코드 2</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474500103</link>
         <description><![CDATA[<pre><code>import pandas as pd</code></pre><pre><code># 1. 파일 경로 설정</code></pre><pre><code>sales_file = "지점별_상품별_일별매출.csv"</code></pre><pre><code>rate_file = "환율.csv"</code></pre><pre><code># 2. 데이터 불러오기</code></pre><pre><code>sales_df = pd.read_csv(sales_file, encoding="cp949")</code></pre><pre><code>rate_df = pd.read_csv(rate_file, encoding="utf-8")</code></pre><pre><code># 3. 환율값만 추출 (첫 행 사용, 'no' 컬럼 제거)</code></pre><pre><code>rate_values = rate_df.drop(columns=["no"]).iloc[0].astype(float)

# 4. 국가별 환산매출 열 생성 (벡터 연산으로 한 번에)

환산매출_df = pd.DataFrame()
for col in rate_values.index:
&nbsp;&nbsp;&nbsp; 환산매출_df[f"국가{col}_환산매출"] = (sales_df["원화금액"] * rate_values[col]).round(2)

# 5. 원본 데이터와 합치기
result = pd.concat([sales_df, 환산매출_df], axis=1)&nbsp;

# 6. 결과 저장
result.to_excel("국가별_환산매출_결과.xlsx", index=False)

# 7. 상위 5행 확인 (옵션)
print(result.head())</code></pre><p>&nbsp;</p><p><br></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 11:30:37 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474500103</guid>
      </item>
      <item>
         <title>💡 주요 설명</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474501015</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/131d19de9bad159dd2684193ca0f65b1/image.png" />
         <pubDate>2025-05-31 11:32:00 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474501015</guid>
      </item>
      <item>
         <title>엑셀과 numpy 간의 속도 격차가 확실히 드러나는 순간</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474501288</link>
         <description><![CDATA[<p><strong>1. 계산 열이 여러 개일 때 (예: 10만 행 × 100열 이상)</strong></p><ul><li><p>엑셀: 수식이 복잡하거나 다중 열에 퍼지면 계산 시간 급증, 셀 변경 시 전체 재계산 발생</p></li><li><p>numpy: 배열 전체 연산은 <strong>1~2초 안에 완료</strong></p></li></ul><p>&nbsp;</p><p><strong>2. 수식이 복잡할 때 (IF, INDEX, VLOOKUP 등)</strong></p><ul><li><p>엑셀: 복잡한 수식이 많을수록 처리 지연, 중간 셀 수정 시 재계산 부담</p></li><li><p>numpy: 벡터 조건식이나 np.where()는 훨씬 빠름</p></li></ul><p>&nbsp;</p><p><strong>3. 대용량 저장/불러오기 반복</strong></p><ul><li><p>엑셀은 파일 크기가 10MB만 넘어도 느려지며, 읽기/쓰기 성능도 한계가 있음</p></li><li><p>pandas + numpy는 .csv, .parquet, .npy 등 빠른 포맷을 통해 효율적 처리 가능</p></li></ul><p>&nbsp;</p><p><strong>4. 정규화, 지수변환, 회귀선 계산 등 과학적 연산</strong></p><ul><li><p>엑셀: 고급 수학/통계 수식은 구현이 번거롭고 느림</p></li><li><p>numpy: 내장 함수로 빠르고 정확하게 가능</p></li></ul><p><br/></p><p><strong>💬 정리 포인트</strong></p><p>“단일 열 연산은 엑셀도 충분히 빠릅니다.<br>하지만 열이 많아지고 수식이 복잡해질수록 numpy의 속도와 안정성이 두드러집니다.”</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/40f32b080ac397461b174552ed724bca/image.png" />
         <pubDate>2025-05-31 11:32:57 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474501288</guid>
      </item>
      <item>
         <title>예시 코드 3</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474522230</link>
         <description><![CDATA[<pre><code>import pandas as pd</code></pre><pre><code>import matplotlib.pyplot as plt</code></pre><pre><code>import math&nbsp;</code></pre><pre><code># 한글 폰트 설정</code></pre><pre><code>plt.rcParams['font.family'] = 'Malgun Gothic'</code></pre><pre><code>plt.rcParams['axes.unicode_minus'] = False&nbsp;</code></pre><pre><code># 데이터 로드</code></pre><pre><code>df = pd.read_csv('지점별_상품별_일별매출.csv', encoding='cp949')</code></pre><pre><code>df.columns = df.columns.str.strip()</code></pre><pre><code># 상품 리스트</code></pre><pre><code>products = df['상품'].unique()</code></pre><pre><code>n = len(products)</code></pre><pre><code># 서브플롯 행, 열 자동 결정</code></pre><pre><code>cols = 10</code></pre><pre><code>rows = math.ceil(n / cols)
# 화면 사이즈 조정

fig, axs = plt.subplots(rows, cols, figsize=(4*cols, 3*rows))
axs = axs.flatten()

# 히스토그램 Binning 기준 (예: 0~5만원 단위)
bins = range(0, int(df['원화금액'].max()) + 50000, 50000)

# 상품별 히스토그램 그리기
for i, product in enumerate(products):
&nbsp;&nbsp;&nbsp; sub = df[df['상품'] == product]

&nbsp;&nbsp;&nbsp; axs[i].hist(sub['원화금액'], bins=bins, edgecolor='black', color='skyblue')

&nbsp;&nbsp;&nbsp; axs[i].set_title(product, fontsize=9)

&nbsp;&nbsp;&nbsp; axs[i].set_xticks([])

&nbsp;&nbsp;&nbsp; axs[i].set_yticks([])

# 남은 빈 서브플롯 숨기기
for j in range(i+1, len(axs)):

&nbsp;&nbsp;&nbsp; axs[j].axis('off')

plt.tight_layout()

plt.suptitle('상품별 일별 매출액 분포 (히스토그램)', fontsize=16, y=1.02)

plt.show()</code></pre><p>&nbsp;</p><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 12:32:01 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474522230</guid>
      </item>
      <item>
         <title>워킹 디렉토리에 있는 &quot;지점실적데이터&quot; 폴더에 들어 있는 엑셀 파일들을 동일한 이름의 CSV 파일로 일괄 변환한 후, 새로운 폴더 /지점실적데이터1 아래에 저장</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474522852</link>
         <description><![CDATA[<pre><code>import pandas as pd</code></pre><pre><code>import glob</code></pre><pre><code>import os</code></pre><pre><code># 원본 폴더와 저장 폴더 경로 설정</code></pre><pre><code>source_folder = './지점실적데이터'</code></pre><pre><code>target_folder = './지점실적데이터1'</code></pre><pre><code># 저장 폴더가 없으면 새로 생성</code></pre><pre><code>os.makedirs(target_folder, exist_ok=True)</code></pre><pre><code># 엑셀 파일 목록 가져오기</code></pre><pre><code>excel_files = glob.glob(os.path.join(source_folder, '*.xlsx'))</code></pre><pre><code># 변환 및 저장</code></pre><pre><code>for file in excel_files:</code></pre><pre><code>&nbsp;&nbsp;&nbsp; df = pd.read_excel(file)
# 파일 이름만 추출하고, csv 확장자로 지정
&nbsp;&nbsp;&nbsp; base_name = os.path.splitext(os.path.basename(file))[0]
&nbsp;&nbsp;&nbsp; csv_path = os.path.join(target_folder, base_name + '.csv')

&nbsp;&nbsp;&nbsp; # CSV 저장 (한글 깨짐 방지용 encoding 설정)
&nbsp;&nbsp;&nbsp; df.to_csv(csv_path, index=False, encoding='utf-8-sig')
&nbsp;&nbsp;&nbsp; print(f'✅ 저장 완료: {csv_path}')</code></pre><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp;</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 12:33:30 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474522852</guid>
      </item>
      <item>
         <title>예시 코드 4</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474523345</link>
         <description><![CDATA[<pre><code>import pandas as pd</code></pre><pre><code>import glob</code></pre><pre><code>import os</code></pre><pre><code>&nbsp;</code></pre><pre><code># 원본 폴더와 저장 폴더 경로 설정</code></pre><pre><code>source_folder = './지점실적데이터'</code></pre><pre><code>target_folder = './지점실적데이터1'</code></pre><pre><code>&nbsp;</code></pre><pre><code># 저장 폴더가 없으면 새로 생성</code></pre><pre><code>os.makedirs(target_folder, exist_ok=True)</code></pre><pre><code>&nbsp;</code></pre><pre><code># 엑셀 파일 목록 가져오기</code></pre><pre><code>excel_files = glob.glob(os.path.join(source_folder, '*.xlsx'))</code></pre><pre><code>&nbsp;</code></pre><pre><code># 변환 및 저장</code></pre><pre><code>for file in excel_files:</code></pre><pre><code>&nbsp;&nbsp;&nbsp; df = pd.read_excel(file)</code></pre><pre><code>&nbsp;</code></pre><pre><code>&nbsp;&nbsp;&nbsp; # 파일 이름만 추출하고, csv 확장자로 지정</code></pre><pre><code>&nbsp;&nbsp;&nbsp; base_name = os.path.splitext(os.path.basename(file))[0]</code></pre><pre><code>&nbsp;&nbsp;&nbsp; csv_path = os.path.join(target_folder, base_name + '.csv')
&nbsp;&nbsp;&nbsp; # CSV 저장 (한글 깨짐 방지용 encoding 설정)

&nbsp;&nbsp;&nbsp; df.to_csv(csv_path, index=False, encoding='utf-8-sig')

&nbsp;&nbsp;&nbsp; print(f'✅ 저장 완료: {csv_path}')</code></pre><p>&nbsp;</p><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 12:34:36 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474523345</guid>
      </item>
      <item>
         <title>지점명 열 제거</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474523592</link>
         <description><![CDATA[<pre><code>import pandas as pd</code></pre><pre><code>import glob</code></pre><pre><code>import os</code></pre><pre><code>&nbsp;</code></pre><pre><code># 원본 폴더 경로</code></pre><pre><code>folder_path = './지점실적데이터'</code></pre><pre><code>&nbsp;</code></pre><pre><code># 모든 엑셀 파일 경로 가져오기</code></pre><pre><code>excel_files = glob.glob(os.path.join(folder_path, '*.xlsx'))</code></pre><pre><code>&nbsp;</code></pre><pre><code>for file in excel_files:</code></pre><pre><code>&nbsp;&nbsp;&nbsp; df = pd.read_excel(file)</code></pre><pre><code>&nbsp;</code></pre><pre><code>&nbsp;&nbsp;&nbsp; # '지점명' 컬럼이 있으면 제거</code></pre><pre><code>&nbsp;&nbsp;&nbsp; if '지점명' in df.columns:</code></pre><pre><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; df = df.drop(columns=['지점명'])</code></pre><pre><code>&nbsp;</code></pre><pre><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 원래 파일에 덮어쓰기</code></pre><pre><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; df.to_excel(file, index=False)</code></pre><pre><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print(f'✅ 지점명 컬럼 제거 완료: {file}')</code></pre><pre><code>&nbsp;&nbsp;&nbsp; else:</code></pre><pre><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print(f'ℹ️ 이미 지점명 컬럼 없음: {file}')</code></pre>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 12:35:22 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474523592</guid>
      </item>
      <item>
         <title>라이브러리를 외워야 하나요?</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474523811</link>
         <description><![CDATA[<p>아닙니다.<br>처음에는 어떤 라이브러리가 무엇을 할 때 유용한지만 감만 잡으면 충분합니다.<br>실제로 실습을 하면서 자주 쓰는 기능은 자연스럽게 익히게 됩니다.</p><p>오히려 중요한 건<br>“이런 작업이 가능하다”는 걸 알고,<br>필요할 때 찾아서 쓰는 습관을 들이는 것입니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 12:35:55 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474523811</guid>
      </item>
      <item>
         <title>파이썬 핵심 라이브러리 미리보기</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474524265</link>
         <description><![CDATA[<ul><li><p>pandas, numpy, matplotlib, seaborn, os, glob 등 개요</p></li><li><p>각 라이브러리별 주요 기능과 실제 적용 사례 요약</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 12:37:14 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474524265</guid>
      </item>
      <item>
         <title>실무 사례</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474524671</link>
         <description><![CDATA[<p>“거래금액의 분포를 시각화해서 팀장에게 보고해야 하는데, 매번 피벗 차트를 만들기 너무 번거로워요.”</p><p>파이썬에서는 seaborn으로 단 2줄의 코드로 히스토그램, 박스플롯 등을 그릴 수 있습니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 12:38:13 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474524671</guid>
      </item>
      <item>
         <title>실습 목표 체크리스트</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474525316</link>
         <description><![CDATA[<p><strong>이번 실습의 목표는 다음과 같습니다.</strong><br>실습을 진행하면서 아래 항목들을 하나씩 달성해보세요.</p><ul><li><p>pandas로 고객 데이터를 필터링하고, 집계한 값을 저장한다</p></li><li><p>os, glob을 활용해 파일 경로를 자동으로 탐색하고 처리한다</p></li><li><p>datetime을 이용해 최근 가입자를 추출한다</p></li><li><p>matplotlib, seaborn으로 가입자 분포 및 추이 시각화를 수행한다</p></li><li><p>numpy로 평균·표준편차를 계산하고 이상치를 제거해본다</p></li><li><p>openpyxl로 엑셀 시트와 셀을 직접 조작해본다</p></li><li><p>re를 사용해 텍스트 패턴을 탐지하거나 수정한다</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 12:39:24 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474525316</guid>
      </item>
      <item>
         <title>실습</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474525598</link>
         <description><![CDATA[<p>&nbsp;</p><p><strong>1. pandas</strong></p><ul><li><p>고객 데이터 엑셀 파일을 불러오고, ‘등급’이 ‘VIP’인 고객만 추출해보세요.</p></li><li><p>등급별 평균 거래금액을 계산하고, 그 결과를 새로운 엑셀 파일로 저장해보세요.</p></li></ul><p>&nbsp;</p><p><strong>2. os</strong></p><ul><li><p>현재 작업 디렉토리 경로를 확인하고, 폴더 안의 파일 목록을 출력해보세요.</p></li><li><p>지정 폴더에서 ‘2025’라는 이름이 포함된 엑셀 파일만 분류해 다른 폴더로 복사해보세요.</p></li></ul><p>&nbsp;</p><p><strong>3. glob</strong></p><ul><li><p>특정 폴더 내의 모든 .xlsx 파일 경로를 불러와 리스트로 출력해보세요.</p></li><li><p>여러 개의 엑셀 파일을 불러와 하나의 DataFrame으로 병합한 뒤, VIP 고객을 제외하고 저장해보세요.</p></li></ul><p>&nbsp;</p><p><strong>4. datetime</strong></p><ul><li><p>가입일자를 날짜형으로 변환하고, 오늘 날짜와 비교해보세요.</p></li><li><p>가입일 기준으로 최근 3개월 이내 고객만 추출해 파일로 저장해보세요.</p></li></ul><p>&nbsp;</p><p><strong>5. matplotlib</strong></p><ul><li><p>일별 가입자 수를 선형 그래프로 시각화해보세요.</p></li><li><p>가입자 수와 평균 거래금액을 이중축 그래프로 시각화하고, 이미지로 저장해보세요.</p></li></ul><p>&nbsp;</p><p><strong>6. seaborn</strong></p><ul><li><p>거래금액 분포를 히스토그램과 박스플롯으로 시각화해보세요.</p></li><li><p>고객 등급별 거래금액 분포를 바이올린 플롯으로 시각화하고, 상관관계를 heatmap으로 표현해보세요.</p></li></ul><p><strong>7. numpy</strong></p><ul><li><p>거래금액 리스트에서 평균과 표준편차를 구해보세요.</p></li><li><p>이상치(평균 ± 2표준편차 초과)를 제거하고 거래금액을 0~1 범위로 정규화해보세요.</p></li></ul><p>&nbsp;</p><p><strong>8. openpyxl</strong></p><ul><li><p>새로운 엑셀 파일을 만들고, 특정 셀에 텍스트를 입력한 후 저장해보세요.</p></li><li><p>고객 등급별로 시트를 나눠 데이터를 기록하고, 서식을 적용해 저장해보세요.</p></li></ul><p>&nbsp;</p><p><strong>9. re</strong></p><ul><li><p>고객 ID 중 'C-'로 시작하는 코드만 추출해보세요.</p></li><li><p>고객 데이터에서 휴대전화 번호 형식이 잘못된 항목을 정규표현식으로 찾아 수정해보세요.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 12:40:12 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474525598</guid>
      </item>
      <item>
         <title>미니 해설</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474525817</link>
         <description><![CDATA[<ul><li><p><strong>pandas</strong>: 엑셀처럼 보이지만, 조건 필터링과 그룹 요약이 훨씬 빠르고 유연합니다.</p></li><li><p><strong>os/glob</strong>: 폴더 내 자동 반복 처리의 핵심입니다. 매일 바뀌는 파일을 사람이 찾지 않아도 됩니다.</p></li><li><p><strong>datetime</strong>: "최근 3개월", "오늘 기준" 조건은 실무에서 매우 빈번합니다.</p></li><li><p><strong>matplotlib/seaborn</strong>: 선형 그래프, 분포, 관계 시각화 등 다양한 형태를 자동으로 구현할 수 있습니다.</p></li><li><p><strong>numpy</strong>: 복잡한 계산 없이 평균, 표준편차, 정규화 등 통계 처리 가능</p></li><li><p><strong>openpyxl</strong>: 기존 Excel 파일 편집을 파이썬 코드로 처리할 수 있어, 보고서 자동 생성에 유리합니다.</p></li><li><p><strong>re</strong>: 정규표현식은 텍스트 전처리, 특히 ID/전화번호/패턴 확인에 매우 강력한 도구입니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 12:40:59 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474525817</guid>
      </item>
      <item>
         <title>실무 응용 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474526934</link>
         <description><![CDATA[<p>각각의 라이브러리는 실제 실무에서 아래와 같이 응용됩니다.</p><ul><li><p>pandas + glob 조합은 “매일 폴더에 쌓이는 파일 자동 통합”에 활용됩니다.</p></li><li><p>datetime은 "3개월 이내 고객 추출"처럼 특정 기간 조건 필터링 업무에 자주 쓰입니다.</p></li><li><p>seaborn은 “거래금액 이상치 시각화”, “등급별 분포 비교” 등을 보고서에 넣을 때 유용합니다.</p></li><li><p>openpyxl은 “자동 리포트 작성 후 시트 서식까지 자동 반영”하는 데 유용합니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 12:44:06 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474526934</guid>
      </item>
      <item>
         <title>핵심 요약</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474527102</link>
         <description><![CDATA[<ul><li><p>파이썬은 다양한 라이브러리를 통해 엑셀이나 BI 툴로는 어려운 자동화 및 반복 작업을 효율적으로 처리할 수 있다.</p></li><li><p>pandas, numpy, matplotlib, seaborn은 데이터 분석의 기본기 역할을 한다.</p></li><li><p>os, glob, datetime, re는 반복 작업 자동화 및 텍스트·날짜 처리에 강력하다.</p></li><li><p>openpyxl은 보고서 자동 생성과 엑셀 서식 적용 등 실무 리포트 자동화에 핵심적이다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 12:44:35 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474527102</guid>
      </item>
      <item>
         <title>엑셀 열 구조를 확인하고 정제해야 분석이 시작됩니다</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474550433</link>
         <description><![CDATA[<p>엑셀에서 데이터를 불러온 뒤에는<br><strong>열 이름, 값의 형태, 누락된 값 등</strong>을 먼저 점검해야 합니다.</p><p><br/></p><pre><code>df.columns&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 열 이름 확인</code></pre><pre><code>df.info()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 데이터 구조와 결측치 확인</code></pre><pre><code>df.describe()&nbsp;&nbsp; # 숫자형 요약 통계</code></pre><p>&nbsp;</p><p>✅ 실무에서는 데이터가 정제되지 않은 상태로 오는 경우가 많기 때문에 이 기본 점검이 매우 중요합니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 13:41:15 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474550433</guid>
      </item>
      <item>
         <title>불필요한 열 제거 및 열 이름 정리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474550958</link>
         <description><![CDATA[<p>&nbsp;</p><pre><code>df = df.drop(columns=['열1', '열2'])&nbsp; # 열 제거</code></pre><pre><code>df.columns = df.columns.str.strip()&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 열 이름 공백 제거</code></pre><pre><code>df = df.rename(columns={'이름 ': '이름'})&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 열 이름 수정</code></pre><p><strong>&nbsp;</strong></p><p>💡 <strong>열 이름에 공백이나 특수문자가 있으면</strong> 오류가 자주 발생하므로<br>반드시 미리 정리해주는 습관을 들이는 것이 좋습니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 13:42:38 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474550958</guid>
      </item>
      <item>
         <title>조건 필터링: 엑셀 필터 대신 코드를 써보자

</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474551637</link>
         <description><![CDATA[<pre><code>df_filtered = df[(df['연체횟수'] &gt;= 2) &amp; (df['거래금액'] &lt; 500000)]</code></pre><ul><li><p>&amp;는 AND 조건, |는 OR 조건</p></li><li><p>괄호로 각 조건을 감싸야 오류가 없습니다</p></li></ul><p>예: 연체 2회 이상 &amp; 거래금액 50만 원 이하</p><p><br/></p><p>✅ 엑셀의 필터 기능보다 빠르고 유연합니다. 특히 다중 조건이 많을수록 파이썬의 장점이 두드러집니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 13:44:10 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474551637</guid>
      </item>
      <item>
         <title>결측치 처리: NA 값 다루는 법</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474551926</link>
         <description><![CDATA[<pre><code>df.isna().sum()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 결측치 개수 확인</code></pre><pre><code>df = df.dropna()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 결측치 행 제거</code></pre><pre><code>df = df.fillna(0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 결측치 0으로 채우기</code></pre><p>&nbsp;</p><p>📌 실무에서는 일부 열만 결측치 제거하거나 특정 열만 채우는 방식이 일반적입니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 13:44:52 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474551926</guid>
      </item>
      <item>
         <title>실전 정제 흐름 정리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474552887</link>
         <description><![CDATA[<p>가장 일반적인 정제 흐름을 요약하면 다음과 같습니다.</p><p><br/></p><pre><code># 1. 데이터 불러오기</code></pre><pre><code>df = pd.read_excel('가입데이터.xlsx')</code></pre><pre><code>&nbsp;</code></pre><pre><code># 2. 구조 점검</code></pre><pre><code>df.info()</code></pre><pre><code>&nbsp;</code></pre><pre><code># 3. 열 이름 정리</code></pre><pre><code>df.columns = df.columns.str.strip()</code></pre><pre><code>&nbsp;</code></pre><pre><code># 4. 필요 없는 열 제거</code></pre><pre><code>df = df.drop(columns=['열1', '열2'])</code></pre><pre><code>&nbsp;</code></pre><pre><code># 5. 조건 필터링</code></pre><pre><code>df_filtered = df[df['거래금액'] &gt; 1000000]</code></pre><pre><code>&nbsp;</code></pre><pre><code># 6. 결측치 처리</code></pre><pre><code>df_filtered = df_filtered.dropna()</code></pre><p>&nbsp;</p><p>📌 이 흐름은 <strong>모든 분석 자동화의 기본 골격</strong>이 됩니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 13:47:08 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474552887</guid>
      </item>
      <item>
         <title>실전 데이터 불러오기와 기본 정제 실습</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474553067</link>
         <description><![CDATA[<ul><li><p>열 구조 점검: .columns, .info(), .describe()</p></li><li><p>불필요한 열 제거, 공백 제거, 이름 변경</p></li><li><p>기본 조건 필터링 및 결측치 처리 (dropna, fillna)</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 13:47:35 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474553067</guid>
      </item>
      <item>
         <title>실습 목표 체크리스트</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474553655</link>
         <description><![CDATA[<p><strong>이번 실습의 목표는 다음과 같습니다.</strong><br>실습을 진행하면서 아래 항목들을 하나씩 달성해보세요.</p><ul><li><p>엑셀 파일을 불러와 구조(df.columns, <a rel="noopener noreferrer nofollow" href="http://df.info">df.info</a>)를 점검한다</p></li><li><p>열 이름을 정리하고, 필요한 열만 추려 DataFrame을 구성한다</p></li><li><p>결측값과 이상치를 처리한다 (0 대체, 평균±2표준편차 이상 제거 등)</p></li><li><p>중복 및 오류 데이터를 찾아 제거하거나 수정한다</p></li><li><p>복합 논리 조건 필터링을 수행하고 결과를 저장한다</p></li><li><p>새로운 파생 열을 만들어 고객 특성을 분류한다</p></li><li><p>등급별로 파일을 나눠 저장하는 자동화를 구현한다</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 13:48:51 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474553655</guid>
      </item>
      <item>
         <title>실무 사례</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474553795</link>
         <description><![CDATA[<p>“고객 등급이 VIP가 아닌데 거래금액도 낮고, 연체도 있는 고객만 골라내서 리스트를 만들고 있어요. 수식이 너무 길어지고, 필터가 자주 꼬여요.”</p><p>파이썬에서는 논리 조건을 조합해 한 줄로 조건을 설정할 수 있고, 필터링 결과를 바로 저장할 수 있습니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 13:49:14 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474553795</guid>
      </item>
      <item>
         <title>실습</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474554035</link>
         <description><![CDATA[<p><strong>1. 엑셀 파일 불러오기</strong></p><ul><li><p>고객가입데이터.xlsx 파일을 불러오고, 상위 5개 행을 출력해보세요.</p></li><li><p>열 이름 목록과 데이터 형식을 확인해보세요 (df.columns, <a rel="noopener noreferrer nofollow" href="http://df.info">df.info</a>() 활용).</p></li></ul><p><strong>&nbsp;</strong></p><p><strong>2. 열 이름 및 열 구성 정리</strong></p><ul><li><p>열 이름의 공백을 제거하고, 모두 소문자로 통일해보세요.</p></li><li><p>분석에 필요한 열만 추려서 새로운 DataFrame으로 구성해보세요.</p></li><li><p>‘고객등급’ 같은 열 이름을 {"고객등급": "grade"}와 같은 매핑으로 바꿔보세요.</p></li></ul><p>&nbsp;</p><p><strong>3. 결측값 및 이상치 처리</strong></p><ul><li><p>결측값이 포함된 행의 수를 확인해보고, 제거해보세요.</p></li><li><p>거래금액이 없는 경우 0으로 채우고, 고객등급이 비어있는 경우 ‘일반’으로 바꿔보세요.</p></li><li><p>거래금액에서 평균 ± 2표준편차를 벗어난 값을 이상치로 간주하고 제거해보세요.</p></li></ul><p>&nbsp;</p><p><strong>4. 중복 및 오류 데이터 제거</strong></p><ul><li><p>전체 행 중 중복 데이터를 제거해보세요.</p></li><li><p>고객 ID + 가입일 기준으로 중복된 경우만 제거해보세요.</p></li><li><p>vmfha‘C-’로 시작하지 않는 고객 ID는 오류 데이터일 수 있습니다. 해당 항목을 확인한 후, 수정하거나 제거해보세요.<br></p></li></ul><p><strong>5. 조건 필터링</strong></p><ul><li><p>거래금액이 50만 원 미만이고 연체횟수가 2회 이상이며 VIP가 아닌 고객을 추출해보세요.</p></li><li><p>가입일 기준으로 최근 3개월 이내 고객만 따로 필터링해보세요.</p></li><li><p>등급이 ‘A’ 또는 ‘B’인 고객만 추출해 파일로 저장해보세요.</p></li></ul><p>&nbsp;</p><p><strong>6. 정렬 및 파생 열 생성</strong></p><ul><li><p>거래금액을 기준으로 내림차순 정렬해보세요.</p></li><li><p>등급(‘A’ → ‘B’ → ‘C’) 우선 + 거래금액 내림차순으로 정렬해보세요.</p></li><li><p>거래금액을 기준으로 ‘고액 고객’(100만 원 이상), ‘일반 고객’ 구분 열을 새로 만들어보세요.</p></li><li><p>가입일로부터 경과된 개월 수를 계산하는 ‘가입연차’ 열을 만들어보세요.</p></li></ul><p>&nbsp;</p><p><strong>7. 저장</strong></p><ul><li><p>정제한 결과를 새로운 엑셀 파일로 저장해보세요.</p></li><li><p>고객 등급별로 파일을 나눠 저장해보세요 (예: grade_A.xlsx, grade_B.xlsx 등).</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 13:49:55 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474554035</guid>
      </item>
      <item>
         <title>미니 해설</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474554224</link>
         <description><![CDATA[<ul><li><p>df.columns.str.strip().str.lower()<br>→ 공백이나 대소문자 차이로 인한 오류를 예방합니다.</p></li><li><p>df.dropna()와 fillna()<br>→ 결측치 처리는 분석 전 가장 중요한 단계이며, 자동화의 기본입니다.</p></li><li><p>mean ± 2*std 방식의 이상치 제거<br>→ 통계 기반 필터링은 엑셀보다 일관된 기준으로 처리 가능합니다.</p></li><li><p>df[(조건1) &amp; (조건2) &amp; (조건3)]<br>→ 복합 조건 필터링에서는 &amp; 연산자와 각 조건을 () 괄호로 감싸는 것이 필요합니다.</p></li><li><p>‘C'] = np.where(...)<br>→ 조건에 따라 라벨을 지정하는 분류 열을 쉽게 생성할 수 있습니다.</p></li><li><p>datetime 활용<br>→ 가입일과 오늘 날짜 차이를 계산해 "가입연차"를 계산할 수 있습니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 13:50:20 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474554224</guid>
      </item>
      <item>
         <title>실무 응용 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474554417</link>
         <description><![CDATA[<p>아래와 같은 상황에서 이 실습 흐름이 그대로 사용됩니다:</p><ul><li><p><strong>카드사 고객관리팀</strong>에서는 “VIP가 아닌 연체 고객 중 거래금액이 낮은 대상”만 분류하여 <strong>캠페인 제외 대상</strong>을 추출합니다.</p></li><li><p><strong>증권사 리서치팀</strong>은 “최근 3개월 내 가입한 고액 거래자”만 따로 분석 대상으로 삼기 위해 필터링 자동화를 적용합니다.</p></li><li><p><strong>고객분석 보고서 자동화 팀</strong>은 정제된 데이터를 등급별 리포트로 분할 저장하여 일일 보고에 사용합니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 13:50:40 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474554417</guid>
      </item>
      <item>
         <title>핵심 요약</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474554588</link>
         <description><![CDATA[<ul><li><p>엑셀 데이터를 자동화하려면 pandas를 활용한 구조 파악부터 시작해야 한다</p></li><li><p>df.head(), <a rel="noopener noreferrer nofollow" href="http://df.info">df.info</a>(), df.describe()는 데이터 상태를 파악하는 기본 명령어이다</p></li><li><p><strong>열 이름 정리 → 불필요 열 제거 → 결측치/이상치 처리</strong>는 모든 분석의 기본 루틴이다</p></li><li><p>복합 조건 필터링은 엑셀보다 파이썬이 <strong>명확하고 안정적</strong>이다</p></li><li><p>정제 결과를 저장하거나 분할 저장하는 작업은 실무 자동화의 핵심이다</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 13:51:08 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474554588</guid>
      </item>
      <item>
         <title>프롬프트를 정확히 작성하는 것만으로도 자동화가 가능합니다</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474563905</link>
         <description><![CDATA[<p>ChatGPT에게 다음과 같이 말해보세요:</p><p>“엑셀로 된 고객 리스트에서 연체 2회 이상인 고객만 뽑아서 등급별로 엑셀 파일을 나눠 저장하는 파이썬 코드를 짜줘.”</p><p>ChatGPT는 파이썬 코드 전체를 생성해줍니다. 여기서 중요한 건:</p><ul><li><p>프롬프트(명령문)를 명확히 전달하는 것</p></li><li><p>생성된 코드를 이해하고, 수정·확장할 수 있는 감각을 기르는 것</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:12:17 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474563905</guid>
      </item>
      <item>
         <title>코드 생성 예시

</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474564442</link>
         <description><![CDATA[<pre><code>import pandas as pd</code></pre><pre><code>df = pd.read_excel('고객리스트.xlsx')</code></pre><pre><code>filtered = df[df['연체횟수'] &gt;= 2]</code></pre><pre><code>for 등급, group in filtered.groupby('고객등급'):</code></pre><pre><code>&nbsp;&nbsp;&nbsp; filename = f'{등급}_연체고객.xlsx'</code></pre><pre><code>&nbsp;&nbsp;&nbsp; group.to_excel(filename, index=False)</code></pre><p><strong>&nbsp;</strong></p><ul><li><p>이 코드는 ChatGPT가 한 번에 생성해줄 수 있습니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:13:25 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474564442</guid>
      </item>
      <item>
         <title>조건 수정 요청 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474564642</link>
         <description><![CDATA[<p>“연체 2회 이상 조건을, 최근 6개월 기준으로 바꿔줘.”</p><p>→ ChatGPT는 날짜 필터를 추가한 코드로 자동 수정해줍니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:13:53 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474564642</guid>
      </item>
      <item>
         <title>예외처리 요청 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474564852</link>
         <description><![CDATA[<p>“엑셀 파일이 없을 때 오류 나지 않도록 예외처리도 넣어줘.”</p><p>→ try/except 구문을 넣어서 안정적인 실행 코드를 생성해줍니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:14:19 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474564852</guid>
      </item>
      <item>
         <title>실습 목표 체크리스트</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474565243</link>
         <description><![CDATA[<p><strong>이번 실습의 목표는 다음과 같습니다.</strong><br>실습을 진행하면서 아래 항목들을 하나씩 달성해보세요.</p><ul><li><p>실무 상황을 자연어로 설명하고 GPT에게 코드를 생성해보자</p></li><li><p>조건 변경 요청에 따라 코드가 어떻게 바뀌는지 확인해보자</p></li><li><p>파일명, 저장 방식 변경 등 자동화 요청을 다양하게 해보자</p></li><li><p>예외처리를 요청하고, GPT가 작성한 코드를 이해해보자</p></li><li><p>전체 업무 흐름을 통합적으로 설명하고 자동화 코드를 받아보자</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:15:03 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474565243</guid>
      </item>
      <item>
         <title>실무 적용 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474569120</link>
         <description><![CDATA[<p>“매일 새로 저장되는 ‘지점별 가입고객’ 파일을 자동으로 불러와, 가입 고객 수를 요약하고 그래프로 저장하는 코드를 GPT에게 받아서 써요. 직접 짜는 건 어려워도, 수정해서 쓰는 건 할 수 있게 되었어요.”</p><p>ChatGPT는 실무 자동화에 있어 <strong>‘자동화 비서’ 역할</strong>을 할 수 있습니다.</p><ul><li><p>전체 코드를 대신 짜주고</p></li><li><p>조건이나 저장 방식 등을 바로바로 수정해줍니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:23:17 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474569120</guid>
      </item>
      <item>
         <title>실습</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474569366</link>
         <description><![CDATA[<p><strong>1. 기본 프롬프트로 코드 생성 요청</strong></p><ul><li><p>“엑셀로 된 고객 리스트에서 <strong>연체 2회 이상인 고객만 추출해서</strong>, 등급별로 나눠 저장하는 파이썬 코드를 짜줘.” → 생성된 코드를 붙여넣고 실행해보세요.</p></li><li><p><strong>포인트</strong>: ChatGPT에게 요청할 때 “입력 파일”, “조건”, “저장 방식”을 명확히 설명하는 법 체득</p></li></ul><p>&nbsp;</p><p><strong>2. 조건 변경 요청</strong></p><ul><li><p>“VIP 고객만 저장하게 바꿔줘.”</p></li><li><p>“거래금액이 100만 원 이상인 경우만 저장하게 바꿔줘.”</p></li></ul><p>→ 변경된 조건이 코드에 어떻게 반영되는지 확인해보세요.</p><ul><li><p><strong>포인트</strong>: if, query, df[df[조건]] 등이 자동 수정되는 구조 이해</p></li></ul><p>&nbsp;</p><p><strong>3. 저장 방식 변경 요청</strong></p><ul><li><p>“등급명을 파일명에 포함시켜 저장되도록 바꿔줘.”</p></li><li><p>“파일명을 ‘VIP_20240525.xlsx’ 형식으로 저장해줘.”</p></li></ul><p>→ f-string 등 동적 파일명 구성 코드로 바뀌는 과정을 확인해보세요.</p><ul><li><p><strong>포인트</strong>: f"{변수}_{날짜}.xlsx" 형태의 자동화 구조 익히기</p></li></ul><p>&nbsp;</p><p><strong>4. 예외 처리 요청</strong></p><ul><li><p>“파일이 없거나 열 이름이 다를 때 에러가 나지 않도록 예외처리를 넣어줘.”</p></li></ul><p>→ ChatGPT가 try/except, if not os.path.exists() 등을 넣는 구조를 확인해보세요.</p><ul><li><p><strong>포인트</strong>: 에러 방지 코드가 어떻게 작성되는지 감 잡기</p></li></ul><p>&nbsp;</p><p><strong>5. 실무 흐름 생성 요청</strong></p><ul><li><p>“매일 저장되는 지점별 고객 파일을 모두 불러와서, 등급별로 요약하고 저장하는 코드를 짜줘.”</p></li><li><p>“고객 등급별 연체율을 계산하고 막대그래프로 저장하는 보고서 코드 짜줘.”</p></li></ul><p>→ ChatGPT가 전체 업무 흐름을 설계하는 방식을 실습해보세요.</p><ul><li><p><strong>포인트</strong>: 조건 필터 → groupby 요약 → 시각화 → 저장까지 통합 설계</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:23:50 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474569366</guid>
      </item>
      <item>
         <title>미니 해설</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474569549</link>
         <description><![CDATA[<ul><li><p>입력파일 + 조건 + 저장방식을 명확하게 설명하면 GPT가 코드 흐름을 정확하게 이해합니다</p></li><li><p>df[df['조건']], query(), if ... 문은 조건 변경 시 자주 등장하는 코드 구조입니다</p></li><li><p>f"{변수}_{날짜}.xlsx" → 파일명 자동화는 거의 모든 반복 저장 업무의 핵심입니다</p></li><li><p>try/except, os.path.exists()는 실무에서 자주 요구되는 <strong>예외 방지 및 안전 장치</strong>입니다</p></li><li><p>GPT는 단순 코드 생성기보다, <strong>업무 흐름을 자동화 구조로 설계하는 파트너</strong>로 활용될 수 있습니다</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:24:10 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474569549</guid>
      </item>
      <item>
         <title>실무 응용 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474569710</link>
         <description><![CDATA[<p>아래와 같은 상황에 이 실습 흐름이 직접 적용됩니다.</p><ul><li><p><strong>매일 저장되는 고객 파일 자동 요약</strong>: “GPT에게 지점별 고객 요약 자동 저장 코드를 요청 → 반복 실행”</p></li><li><p><strong>보고서 자동 생성</strong>: “고객 등급별 연체율 계산 + 그래프 저장 요청 → 바로 리포트 구성 가능”</p></li><li><p><strong>예외처리 포함된 자동화</strong>: “파일이 없는 날은 패스하도록 GPT가 자동 처리하게 설계”</p></li><li><p><strong>RPA 대체 수준의 자동화</strong>: 반복적이고 표준화된 작업은 GPT 코드로 더 빠르게 대응 가능</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:24:31 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474569710</guid>
      </item>
      <item>
         <title>핵심 요약</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474569871</link>
         <description><![CDATA[<ul><li><p>실무 상황을 자연어로 풀어 설명하면 GPT가 코드를 자동 생성해줄 수 있다</p></li><li><p>단순히 "코드를 쓰는 능력"이 아니라, GPT에게 "어떻게 설명할 것인가"가 핵심이다</p></li><li><p>조건, 저장 방식, 예외처리 등 대부분의 반복 업무는 GPT와 함께 빠르게 자동화 가능하다</p></li><li><p>GPT는 코드 생성기를 넘어, 업무 흐름을 설계하고 코드로 전환해주는 실무 파트너입니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:24:55 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474569871</guid>
      </item>
      <item>
         <title>마무리 정리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474570079</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/f16c9c7b486b5c14577e32195ca526dd/image.png" />
         <pubDate>2025-05-31 14:25:25 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474570079</guid>
      </item>
      <item>
         <title>자동화는 한 번 만들고 끝이 아닙니다</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474570420</link>
         <description><![CDATA[<p>자동화는 한 줄의 코드가 아닌, 전체 흐름의 설계입니다. 반복되는 작업을 코드로 바꾼 뒤에도, 다음 질문들에 대한 답이 중요합니다:</p><ul><li><p>이 코드, 매일 실행할 수 있는가?</p></li><li><p>파일명이 바뀌어도 작동하는가?</p></li><li><p>오류가 나면 어떻게 대응할 것인가?</p></li></ul><p>이런 질문에 답하면서, <strong>유지보수가 가능한 자동화</strong>를 설계해야 합니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:26:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474570420</guid>
      </item>
      <item>
         <title>반복 작업 자동화 흐름 설계</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474570548</link>
         <description><![CDATA[<p>반복되는 금융 업무 자동화의 기본 흐름은 다음과 같습니다:</p><ol><li><p>입력파일 읽기 →</p></li><li><p>조건별 필터링 →</p></li><li><p>요약 집계 및 시각화 →</p></li><li><p>파일로 저장 또는 전송 →</p></li><li><p>로그 기록 또는 예외처리</p></li></ol><p>이 구조로 업무를 ‘함수화’하거나, ‘모듈화’하면 장기적으로 유용합니다.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:26:25 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474570548</guid>
      </item>
      <item>
         <title>예외처리와 확장성 고려하기</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474570917</link>
         <description><![CDATA[<pre><code>try:</code></pre><pre><code>&nbsp;&nbsp;&nbsp; df = pd.read_excel('고객데이터.xlsx')</code></pre><pre><code>except FileNotFoundError:</code></pre><pre><code>&nbsp;&nbsp;&nbsp; print("파일이 존재하지 않습니다.")</code></pre><pre><code>exit()</code></pre><p><br/></p><p>예외처리를 넣으면 자동화의 안정성이 높아집니다. 특히 금융 업무는 <strong>오류 발생 시 대응 전략이 매우 중요</strong>합니다.</p><p>또한,</p><ul><li><p>파일명을 날짜 기준으로 바꾸는 방법</p></li><li><p>저장 경로를 자동으로 지정하는 방법</p></li><li><p>매일 자동 실행할 수 있는 스케줄링 방법 (예: Task Scheduler, cron)<br>등을 함께 고려해야 합니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:27:18 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474570917</guid>
      </item>
      <item>
         <title>실습 목표 체크리스트</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474571325</link>
         <description><![CDATA[<p><strong>이번 실습의 목표는 다음과 같습니다.</strong><br>실습을 진행하면서 아래 항목들을 하나씩 달성해보세요.</p><ul><li><p>입력 파일 존재 여부를 자동으로 체크하고 예외 상황을 처리할 수 있다</p></li><li><p>날짜 기반 폴더 및 파일명을 자동 생성하고 정리할 수 있다</p></li><li><p>반복되는 작업(조건 필터링, 저장 등)을 함수로 구성하고 재사용할 수 있다</p></li><li><p>전체 작업 흐름을 main() 함수 구조로 설계할 수 있다</p></li><li><p>조건, 경로, 파일명 등을 외부 변수(config)로 관리하는 구조를 만들 수 있다</p></li><li><p>유지보수와 확장성이 뛰어난 자동화 스크립트 흐름을 설계할 수 있다</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:28:20 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474571325</guid>
      </item>
      <item>
         <title>실무 적용 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474571482</link>
         <description><![CDATA[<p>“업무는 매일 같지만, 저장 위치나 조건이 바뀌는 경우가 많습니다. 파이썬 코드를 매번 수정하지 않도록 변수와 경로를 자동화해서 유연하게 만들었더니, 유지보수가 훨씬 편해졌어요.”</p><ul><li><p>파라미터 분리, 경로 자동 구성, 조건 유연화가 핵심입니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:28:45 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474571482</guid>
      </item>
      <item>
         <title>실습</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474572072</link>
         <description><![CDATA[<p><strong>1. 입력 파일 존재 확인 및 예외 처리</strong></p><ul><li><p>'고객가입데이터.xlsx' 파일이 현재 폴더에 존재하지 않을 경우<br>“파일이 없습니다”라는 메시지를 출력하고 프로그램을 종료해보세요.<br>→ os.path.exists() + if not + print() 또는 raise</p></li></ul><p><br/></p><p><strong>2. 날짜별 경로 및 파일명 자동 생성</strong></p><ul><li><p>오늘 날짜 기준으로 output/20240525/ 폴더를 생성한 뒤,<br>파일을 고객리포트_20240525.xlsx 형식으로 저장해보세요.<br>→ datetime, os.makedirs(), f-string 활용</p></li></ul><p>&nbsp;</p><p><strong>3. 자동화 흐름을 함수 단위로 구성</strong></p><ul><li><p>&nbsp;“고객 등급별로 분할 저장” 과정을 함수로 만들어보세요.<br>→ def save_by_grade(df): ... 형식</p></li><li><p>조건(예: 연체 2회 이상, 금액 100만 이상)을 함수 인자로 받아,<br>조건에 따라 다른 고객 그룹을 저장할 수 있도록 구조화해보세요.<br>→ filter_and_save(df, 조건1, 조건2, 저장경로)</p></li></ul><p>&nbsp;</p><p><strong>4. 전체 작업 흐름을 순서대로 연결</strong></p><ul><li><p>아래의 작업을 하나의 스크립트 흐름으로 구성해보세요:</p><ol><li><p>입력 파일 존재 여부 확인</p></li><li><p>조건 필터링</p></li><li><p>통계 요약</p></li><li><p>시각화</p></li><li><p>자동 저장 (날짜 포함 파일명)</p></li></ol></li></ul><p>→ 단계별 함수로 구성하고, main() 함수로 실행해보세요.</p><p>&nbsp;</p><p><strong>5. 유연성과 유지보수 구조 설계</strong></p><ul><li><p>config = {...} 딕셔너리에서 필터 조건, 경로, 저장 파일명을 설정하고,<br>코드 내에서 이 값을 불러와 자동화 흐름을 제어해보세요.</p></li></ul><p>→ 실무에서 흔히 쓰는 “파라미터 설정 + 코드 분리” 방식입니다.</p><p><br></p><p>&nbsp;</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:29:33 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474572072</guid>
      </item>
      <item>
         <title>미니 해설</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474572236</link>
         <description><![CDATA[<ul><li><p>if not os.path.exists(path):<br>→ 파일 유무를 사전 체크해 예외 없이 안정적인 실행 흐름을 구성할 수 있습니다.</p></li><li><p><a rel="noopener noreferrer nofollow" href="http://datetime.today">datetime.today</a>().strftime('%Y%m%d')<br>→ 파일명, 폴더명 자동화에 가장 많이 쓰이는 날짜 문자열 처리 방식입니다.</p></li><li><p>def save_by_grade(df): ...<br>→ 반복 저장 작업을 함수로 구성하면, 다양한 조건에 쉽게 대응할 수 있습니다.</p></li><li><p>config = {...}<br>→ 조건과 경로를 하드코딩하지 않고 외부 변수로 분리하면 <strong>유지보수와 재사용성이 급상승</strong>합니다.</p></li><li><p>main()<br>→ 스크립트 흐름을 구조화함으로써 전체 과정을 한 번에 재실행하거나 자동화 배치로 연결 가능하게 합니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:29:54 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474572236</guid>
      </item>
      <item>
         <title>실무 응용 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474572354</link>
         <description><![CDATA[<p>아래와 같은 상황에 이 구조가 직접 활용됩니다.</p><ul><li><p><strong>일간 보고서 자동 생성 스크립트</strong>: 날짜별 폴더 생성 → 데이터 필터 → 요약 → 그래프 생성 → 저장 자동화</p></li><li><p><strong>운영 자동화의 RPA 대체용 코드</strong>: 예외처리 + 설정 파일(config) 조합으로 누구나 실행 가능한 스크립트 작성</p></li><li><p><strong>유지보수 가능한 분석 자동화 템플릿</strong>: 조건/경로만 바꾸고 재사용 가능한 구조 설계</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:30:17 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474572354</guid>
      </item>
      <item>
         <title>핵심 요약</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474572475</link>
         <description><![CDATA[<ul><li><p>자동화는 “코드를 한 줄로 짜는 기술”이 아니라 <strong>흐름을 설계하고 예외를 제어하는 구조화의 과정</strong>이다</p></li><li><p>반복 작업을 함수화하고, 조건과 경로를 파라미터(config)로 분리하면 <strong>재사용성과 확장성</strong>이 크게 향상된다</p></li><li><p>예외처리, 동적 저장, 전체 흐름 함수화는 <strong>실무 자동화 코딩의 기본 패턴</strong>이다</p></li><li><p>main() 함수 중심 스크립트 구조는 실무 적용과 배치 자동화에 필수적이다</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:30:34 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474572475</guid>
      </item>
      <item>
         <title>마무리 정리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474572877</link>
         <description><![CDATA[<p>이 장은 <strong>실습 전체의 클로징 파트</strong>로 다음과 같은 포인트에서 중요한 의미를 갖습니다:</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/c5c2f0cac4083e99757b666e687d852a/image.png" />
         <pubDate>2025-05-31 14:31:11 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474572877</guid>
      </item>
      <item>
         <title>목표</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474573251</link>
         <description><![CDATA[<ul><li><p>지금까지 배운 파이썬 자동화 기법을 실제 금융 데이터 업무에 어떻게 적용할 수 있을지 구체적으로 살펴봅니다.</p></li><li><p>실무 사례를 통해 업무를 자동화하는 흐름을 복기하고, 나만의 자동화 플랜을 수립하는 전략까지 안내합니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:31:57 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474573251</guid>
      </item>
      <item>
         <title>VIP 고객 관리 자동화</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474573494</link>
         <description><![CDATA[<p>“VIP 고객 중 최근 거래가 뜸한 고객을 분류해 매주 전송해야 합니다.”</p><p>파이썬 자동화 흐름:</p><ul><li><p>고객 등급과 거래일 조건 필터링</p></li><li><p>조건 만족 고객 추출 → 담당자별 엑셀 저장</p></li><li><p>파일 전송 로그 기록</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:32:35 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474573494</guid>
      </item>
      <item>
         <title>연체 고객 리스트 추출 및 관리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474573735</link>
         <description><![CDATA[<p>“최근 3개월 연체 2회 이상, 거래금액 낮고, 비VIP인 고객을 선별해 리스크 관리팀에 매주 전달해야 합니다.”</p><p>파이썬 자동화 흐름:</p><ul><li><p>복합 조건 필터링 (연체, 금액, 등급)</p></li><li><p>리스트 생성 및 저장 → 부서별 분할 저장</p></li><li><p>누적 연체율 계산 및 시각화 보고서 포함</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:33:01 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474573735</guid>
      </item>
      <item>
         <title>신규 지점 데이터 통합 리포트 자동화</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474573841</link>
         <description><![CDATA[<p>“신규 지점에서 매일 보내오는 가입 내역을 기존 통합 시스템에 수작업으로 붙여넣고 있습니다.”</p><p>파이썬 자동화 흐름:</p><ul><li><p>glob로 파일 수집 → 파일명 기준 날짜 추출</p></li><li><p>기준 열 단위로 병합 → 중복 제거</p></li><li><p>전체 통합 리포트 생성 및 저장</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:33:23 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474573841</guid>
      </item>
      <item>
         <title>실습 목표 체크리스트</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474574155</link>
         <description><![CDATA[<p><strong>이번 실습의 목표는 다음과 같습니다.</strong><br>실습을 진행하면서 아래 항목들을 하나씩 달성해보세요.</p><ul><li><p>실무 시나리오를 코드 흐름으로 구상하고 GPT 또는 직접 구현해본다</p></li><li><p>조건 필터링, 파일 분할 저장, 시각화 등 실무 자동화 작업을 단계별로 수행한다</p></li><li><p>실무 문장(요구사항)을 파이썬 흐름(입력 → 조건 → 저장)으로 자연스럽게 전환한다</p></li><li><p>실습 완료 후 자동화 구조를 팀원에게 설명할 수 있을 정도로 이해한다</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:34:06 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474574155</guid>
      </item>
      <item>
         <title>실습</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474574550</link>
         <description><![CDATA[<p><strong>1. VIP 고객 관리 자동화</strong></p><ul><li><p>“VIP 고객 중 최근 거래가 없는 고객을 주기적으로 추출해,<br>담당자별로 보고서를 분리해 보내야 한다.”</p></li><li><p>고객 데이터에서 VIP 등급이면서 최근 30일간 거래 이력이 없는 고객만 추출하여 저장해보세요.</p></li><li><p>담당자별로 분리 저장(groupby)하고, 저장한 파일명을 로그로 기록해보세요.<br>→ datetime, groupby, to_excel, with open(log.txt, 'a') 등 활용</p></li></ul><p><strong>&nbsp;</strong></p><p><strong>2. 연체 고객 리스트 추출 및 관리</strong></p><ul><li><p>“3개월 내 연체 2회 이상 &amp; 거래금액 낮고 &amp; 비VIP인 고객을 리스크 관리팀에 전달해야 한다.”</p></li></ul><ul><li><p>고객 데이터에서 연체 2회 이상, 거래금액 100만 원 이하, VIP 제외 조건에 맞는 고객을 추출해 저장해보세요.</p></li><li><p>추출한 고객 데이터를 부서별로 나누어 저장하고, <br>등급별 연체율을 계산해 막대그래프로 저장해보세요.<br>→ query, groupby, barplot, to_excel, matplotlib</p></li></ul><p>&nbsp;</p><p><strong>3. 신규 지점 가입 내역 통합 리포트</strong></p><ul><li><p>“신규 지점 가입 데이터를 매일 수집하여 기존 통합 데이터와 병합해야 한다.”</p></li></ul><ul><li><p>특정 폴더에서 엑셀 파일을 glob로 수집하고, 파일명에서 날짜를 추출해 하나의 데이터프레임으로 병합해보세요.</p></li><li><p>기존 통합 데이터와 병합(concat), 중복 제거 후 지점명_YYYYMMDD.xlsx 형식으로 통합 보고서를 저장해보세요.<br>→ glob, os, datetime, drop_duplicates, f-string 활용</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:34:59 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474574550</guid>
      </item>
      <item>
         <title>이 장에서 할 수 있게 된 것</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474575135</link>
         <description><![CDATA[<ul><li><p>단순 기능 실습을 넘어, <strong>실제 금융 업무 시나리오를 파이썬 흐름으로 전환</strong>하는 능력을 갖추게 됨</p></li><li><p>조건 필터링, 분할 저장, 시각화, 예외 처리 등을 <strong>하나의 흐름 안에서 통합적으로 실행</strong>할 수 있음</p></li><li><p>파이썬을 단순한 도구가 아닌, <strong>업무 전략의 일부로 활용하는 사고방식 습득</strong></p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:36:14 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474575135</guid>
      </item>
      <item>
         <title>미니 해설</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474575217</link>
         <description><![CDATA[<ul><li><p>실습 도중 의도를 이해할 수 있도록 아래 포인트를 참고하세요.</p></li></ul><ul><li><p><strong>조건 + 분할 + 저장</strong> 흐름은 대부분의 금융 실무 보고서 자동화 패턴과 동일합니다</p></li><li><p>실무에서는 "VIP 제외", "최근 30일 이내", "100만 원 이상" 같은 <strong>조건이 자주 바뀌므로</strong> 이를 변수화하면 유리합니다</p></li><li><p><strong>파일명에 날짜나 조건 삽입</strong>, <strong>로그 저장</strong>은 보고용 자동화에서 반드시 필요합니다</p></li><li><p>시각화는 단순한 그림이 아니라, <strong>의사결정의 증거자료</strong>로 기능합니다</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:36:32 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474575217</guid>
      </item>
      <item>
         <title>핵심 요약</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474575365</link>
         <description><![CDATA[<ul><li><p>실무 시나리오를 자동화 구조로 전환하는 연습은 <strong>진짜 파이썬 실력 향상 포인트</strong>입니다</p></li><li><p>복잡한 조건, 분할 저장, 시각화, 예외처리 등을 통합해 실전 코드 흐름을 완성할 수 있습니다</p></li><li><p>이제 파이썬은 단순 도구가 아닌, <strong>업무 전략을 실행하는 파트너</strong>로 활용 가능합니다</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:36:52 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474575365</guid>
      </item>
      <item>
         <title>마무리 구조 정리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474575787</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/1f3911fd20046349cf341667c467ef83/image.png" />
         <pubDate>2025-05-31 14:37:45 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474575787</guid>
      </item>
      <item>
         <title>현재 업무 분석하기</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474576306</link>
         <description><![CDATA[<p>자동화를 시작하기 전, 먼저 해야 할 일은 <strong>내가 반복하는 작업이 무엇인지 정리</strong>하는 것입니다.<br>엑셀을 여는 순간 반복하는 동작은 무엇이고, 하루 중 가장 비효율적인 작업은 어디인지 파악해야 합니다.</p><ul><li><p>어떤 엑셀 파일을 매일 열고 필터링하는가?</p></li><li><p>반복해서 붙여넣거나, 저장하거나, 복사하는 작업은 무엇인가?</p></li><li><p>매주/매월 같은 양식으로 보고서를 만드는가?</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:38:43 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474576306</guid>
      </item>
      <item>
         <title>자동화 타겟 선정 기준</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474576518</link>
         <description><![CDATA[<p>파이썬으로 자동화를 시도할 작업은 다음 조건을 만족할수록 적합합니다:</p><ul><li><p><strong>반복성</strong>: 주기적으로 같은 형식의 작업이 발생한다</p></li><li><p><strong>정형성</strong>: 데이터 구조가 일정하며, 처리 조건이 명확하다</p></li><li><p><strong>확장성</strong>: 향후 조건이 변경되어도 수정이 용이하다</p></li></ul><p>예: 매주 고객 리스트 저장, 월말 KPI 리포트 생성, 일일 연체율 계산 등</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:39:03 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474576518</guid>
      </item>
      <item>
         <title>점진적 적용 계획 수립</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474576777</link>
         <description><![CDATA[<p>자동화는 한 번에 완성하는 것이 아닙니다. 다음과 같은 단계로 나누어 적용하세요:</p><ul><li><p>1단계: 단순 필터링 자동화 (조건 필터 + 저장)</p></li><li><p>2단계: 병합 및 요약 자동화 (groupby + 시각화)</p></li><li><p>3단계: 반복 실행 환경 구성 (폴더 내 일괄 처리, 예외처리 포함)</p></li><li><p>4단계: GPT 연동 또는 스케줄링 도입 (자동 코드 생성, 매일 자동 실행 등)</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:39:38 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474576777</guid>
      </item>
      <item>
         <title>실습 목표 체크리스트</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474577123</link>
         <description><![CDATA[<p><strong>이번 실습의 목표는 다음과 같습니다.</strong><br>실습을 진행하면서 아래 항목들을 하나씩 달성해보세요.</p><ul><li><p>반복적으로 수행 중인 엑셀 기반 업무를 구체적으로 적어본다</p></li><li><p>각 업무의 <strong>반복성·정형성·판단 필요 여부</strong>를 기준으로 자동화 가능성을 평가한다</p></li><li><p>GPT에게 실무 설명을 전달하고 자동화 가능 여부를 진단받는다</p></li><li><p>자동화 흐름을 직접 구조화해보고, GPT에게 코드 생성을 요청한다</p></li><li><p>조건 변경, 예외 처리 등 다양한 수정 요청을 해본다</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:40:25 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474577123</guid>
      </item>
      <item>
         <title>실습: 실습 흐름 요약</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474577875</link>
         <description><![CDATA[<p>① 업무 나열 → ② 자동화 가능성 분석 → ③ 흐름 정리 → ④ GPT에게 판단 요청 → ⑤ 자동화 설계</p><p>&nbsp;</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:41:56 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474577875</guid>
      </item>
      <item>
         <title>실습 1. 내가 반복하는 업무 정리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474578236</link>
         <description><![CDATA[<p>✍️ 다음 질문에 따라 현재 반복하고 있는 엑셀 기반 업무를 3가지 이상 적어보세요:</p><ul><li><p>어떤 파일을 자주 열고, 어떤 조건으로 필터링하나요?</p></li><li><p>매주/매달 같은 보고서를 만들고 있나요?</p></li><li><p>붙여넣기, 복사, 저장을 반복하는 작업이 있나요?</p></li></ul><p><br/></p><p>📄 예시 답안</p><p>1. 매일 거래내역에서 VIP 고객만 추출해 저장&nbsp;</p><p>2. 월초마다 등급별 고객 수 통계 내고 파워포인트 보고서 작성&nbsp;</p><p>3. 매주 부서별 연체 고객 리스트 추출 및 메일 전송</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:42:39 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474578236</guid>
      </item>
      <item>
         <title>실습 2. 자동화 가능성 분석표 작성</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474578666</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/170b30a6f432510ff573ada8ed77a429/image.png" />
         <pubDate>2025-05-31 14:43:30 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474578666</guid>
      </item>
      <item>
         <title>실습 3. 자동화 가능성 GPT에게 판단 요청</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474579168</link>
         <description><![CDATA[<p>아래와 같이 GPT에게 업무 내용을 설명하고,<br>"이 업무가 자동화 가능한가요?”라고 물어보세요.</p><p>&nbsp;</p><p>📢 예시 프롬프트:</p><p>"제가 매일 거래내역 엑셀에서 VIP 고객만 추출해 저장하고 있는데,&nbsp;</p><p>이 작업을 파이썬으로 자동화할 수 있을까요?&nbsp;</p><p>파일명은 매일 다르고, 저장은 등급별로 해야 합니다."</p><p>GPT는 다음 중 하나로 대답할 수 있습니다:</p><ul><li><p>✅ 가능: 코드 흐름 제안 → 바로 코드 요청 가능</p></li><li><p>⚠️ 조건 정리 필요: 사람이 판단할 부분, 양식 적용 등</p></li><li><p>❌ 비정형이 많아 자동화 부적합</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:44:20 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474579168</guid>
      </item>
      <item>
         <title>실습 4. 자동화 흐름 직접 설계</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474579518</link>
         <description><![CDATA[<p>GPT의 판단을 참고해, 자동화 가능성이 높다고 판단한 업무에 대해<br>아래 구조로 흐름을 설계해보세요.</p><p><br/></p><p>📄 자동화 설계 템플릿:</p><p><br/></p><p>(업무명) VIP 거래고객 정리</p><p><br/></p><p>1. 입력 데이터:</p><p>- 지점별 거래내역 (엑셀)</p><p>2. 반복되는 작업:</p><p>- VIP 등급 필터 → 저장 → 등급별 분할</p><p>3. 자동화 목표:</p><p>- 매일 자동으로 VIP만 저장, 등급별 파일 생성</p><p>4. 고려 조건:</p><p>- 파일명 매일 다름, 일부 시트 누락 가능성</p><p><br></p><p>&nbsp;</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:45:11 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474579518</guid>
      </item>
      <item>
         <title>실습 5. GPT에게 코드 요청하기</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474579720</link>
         <description><![CDATA[<p>설계한 내용을 정리해 GPT에게 전체 흐름을 설명하고,<br>“이 흐름을 코드로 짜줘”라고 요청해보세요.</p><p>📢 예시 프롬프트:</p><p>VIP 고객만 필터해서 등급별로 저장하는 업무입니다.&nbsp;</p><p>파일명은 매일 다르고, 일부 시트가 누락될 수 있습니다.<br>예외처리 포함해서 전체 파이썬 코드 짜주세요.</p><p>→ 결과 코드를 검토하고,</p><ul><li><p>조건 수정</p></li><li><p>저장 방식 변경</p></li><li><p>예외처리 추가<br>도 추가로 요청해보세요.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:45:39 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474579720</guid>
      </item>
      <item>
         <title>미니 해설</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474579943</link>
         <description><![CDATA[<ul><li><p><strong>자동화 가능성 3요소</strong></p><ul><li><p><strong>반복성</strong>: 일정 주기로 같은 구조가 반복되는가?</p></li><li><p><strong>정형성</strong>: 데이터 형식과 조건이 명확한가?</p></li><li><p><strong>판단 필요성</strong>: 매번 인간의 주관적 판단이 필요한가?</p></li></ul></li><li><p><strong>GPT 설명 시 핵심 구조</strong><br>→ <em>입력 파일 + 조건 + 저장 방식 + 반복성</em><br>이 4가지 요소가 들어가면 GPT의 이해도가 높아집니다.</p></li><li><p><strong>자동화 흐름 설계 시 핵심 구조</strong><br>→ <em>입력 → 처리 조건 → 분류/요약 → 저장 방식 → 예외 처리</em></p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:45:58 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474579943</guid>
      </item>
      <item>
         <title>실무 응용 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474580552</link>
         <description><![CDATA[<p>아래 예시는 학습자의 경험을 바탕으로 스스로 도출하게 하되, 참고용으로 제공하면 효과적입니다.</p><p><br/></p><ul><li><p>학습자는 본인의 반복 업무를 바탕으로 자동화 가능성 판단표를 작성해보고, GPT에게 묻고, 직접 흐름을 설계합니다.</p></li></ul>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/e463bd2fa3984ffd75eb800e632160a2/image.png" />
         <pubDate>2025-05-31 14:47:16 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474580552</guid>
      </item>
      <item>
         <title>실습 흐름 5단계</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474580731</link>
         <description><![CDATA[<ol><li><p><strong>반복 업무를 떠올린다</strong><br>→ 실제 엑셀에서 반복하는 행동들</p></li><li><p><strong>자동화 가능성을 분석한다</strong><br>→ 반복성 / 정형성 / 판단 여부 체크</p></li><li><p><strong>GPT에게 자동화 가능 여부를 묻는다</strong><br>→ 실무 흐름을 설명하고 판단 요청</p></li><li><p><strong>자동화 구조를 스스로 설계한다</strong><br>→ 입력/조건/저장/예외 등 포함한 흐름 구성</p></li><li><p><strong>GPT에게 전체 코드를 요청하고 수정한다</strong><br>→ 조건 변경, 예외 추가 등 반복해 개선</p></li></ol>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:47:35 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474580731</guid>
      </item>
      <item>
         <title>핵심 요약</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474580957</link>
         <description><![CDATA[<ul><li><p><strong>자동화는 “코드 잘 짜는 사람”이 아니라,<br>“업무를 구조적으로 설명할 수 있는 사람”이 잘합니다.</strong></p></li><li><p>반복성과 정형성을 가진 업무를 중심으로 자동화 흐름을 설계해야 합니다</p></li><li><p>GPT는 도구가 아니라 <strong>“업무 구조를 코드로 전환해주는 파트너”</strong>로 활용됩니다</p></li><li><p>실무 자동화는 결국<br>→ 문제 인식 → 흐름 정리 → 도구 요청 → 수정 반복 → 구조화 습득의 순환 구조입니다</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:47:58 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474580957</guid>
      </item>
      <item>
         <title>이 장에서 할 수 있게 된 것</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474581089</link>
         <description><![CDATA[<ul><li><p>자동화 도입을 위한 실무 진단 역량을 갖췄다</p></li><li><p>반복 업무를 기준으로 파이썬 자동화 대상과 흐름을 정의할 수 있다</p></li><li><p>자신만의 자동화 시나리오를 설계하고 실습으로 연결할 수 있게 되었다</p></li></ul><p>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>“자동화는 도구가 아니라 사고방식입니다.”<br>파이썬을 잘 쓰는 사람은 코드를 잘 짜는 사람이 아니라,<br>구조를 명확히 파악하고 GPT나 도구에게 잘 설명할 수 있는 사람입니다.</strong></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:48:17 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474581089</guid>
      </item>
      <item>
         <title>감사합니다</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474581237</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2025-05-31 14:48:43 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474581237</guid>
      </item>
      <item>
         <title>실습 1. pandas</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474752975</link>
         <description><![CDATA[<ul><li><p>고객 데이터 엑셀 파일을 불러오고, ‘등급’이 ‘VIP’인 고객만 추출해보세요.</p></li><li><p>등급별 평균 거래금액을 계산하고, 그 결과를 새로운 엑셀 파일로 저장해보세요.</p></li></ul><p><br/></p><pre><code>import pandas as pd  # pandas 라이브러리를 불러옵니다 (데이터 분석용)</code></pre><pre><code># 1. 고객 데이터 엑셀 파일을 읽어옵니다</code></pre><pre><code>df = pd.read_excel("고객데이터_실습용.xlsx")  # 현재 작업 디렉토리에 있는 파일명 기준</code></pre><pre><code># 1-1. '등급'이 'VIP'인 고객만 추출합니다</code></pre><pre><code>vip_customers = df[df["등급"] == "VIP"]  # 조건 필터링으로 VIP 고객만 선택</code></pre><pre><code>print("🔹 VIP 고객 리스트:")</code></pre><pre><code>print(vip_customers)  # 결과 출력</code></pre><pre><code># 2. 등급별 평균 거래금액을 계산합니다</code></pre><pre><code>avg_by_grade = df.groupby("등급")["거래금액"].mean().reset_index()  # groupby + mean으로 평균 계산</code></pre><pre><code># 2-1. 계산된 결과를 새로운 엑셀 파일로 저장합니다</code></pre><pre><code>avg_by_grade.to_excel("등급별_평균거래금액.xlsx", index=False)  # 결과를 저장 (인덱스 제외)</code></pre><pre><code># 2-2. 평균 거래금액 결과를 출력합니다</code></pre><pre><code>print("\n🔹 등급별 평균 거래금액:")</code></pre><pre><code>print(avg_by_grade)</code></pre><pre><code># 천 단위 콤마 형식으로 포맷 적용하여 출력 (소수점 없이 정수로 표시)</code></pre><pre><code>avg_by_grade["거래금액"] = avg_by_grade["거래금액"].apply(lambda x: f"{int(x):,}")</code></pre><pre><code># 출력</code></pre><pre><code>print("🔹 등급별 평균 거래금액:")</code></pre><pre><code>print(avg_by_grade)</code></pre>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 01:08:06 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474752975</guid>
      </item>
      <item>
         <title>실습 2. os</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474753279</link>
         <description><![CDATA[<ul><li><p>현재 작업 디렉토리 경로를 확인하고, 폴더 안의 파일 목록을 출력해보세요.</p></li><li><p>지정 폴더에서 ‘2025’라는 이름이 포함된 엑셀 파일만 분류해 다른 폴더로 복사해보세요.</p></li></ul><p><br/></p><pre><code># os 모듈과 shutil 모듈을 불러옵니다 (파일 탐색 및 복사 기능을 사용하기 위해 필요합니다)</code></pre><pre><code>import os</code></pre><pre><code>import shutil</code></pre><pre><code># 1. 현재 작업 디렉토리 경로를 출력합니다</code></pre><pre><code>print("✅ 현재 작업 디렉토리:")</code></pre><pre><code>print(os.getcwd())  # 현재 디렉토리를 출력해줍니다</code></pre><pre><code># 2. 지정된 폴더(여기서는 ./qtr)의 파일 목록을 가져옵니다</code></pre><pre><code>print("\n📁 './qtr' 폴더 내의 파일 목록:")</code></pre><pre><code>file_list = os.listdir('./qtr')  # qtr 폴더에 있는 파일들을 리스트로 가져옵니다</code></pre><pre><code>print(file_list)</code></pre><pre><code># 3. '2025'가 파일명에 포함되고 확장자가 .xlsx인 파일만 추출합니다</code></pre><pre><code>target_files = [f for f in file_list if '2025' in f and f.endswith('.xlsx')]</code></pre><pre><code># 결과 확인</code></pre><pre><code>print("\n🔍 '2025'가 포함된 엑셀 파일 목록:")</code></pre><pre><code>print(target_files)</code></pre><pre><code># 4. 복사할 대상 폴더 (backup)가 없으면 새로 생성합니다</code></pre><pre><code>backup_path = './backup'</code></pre><pre><code>os.makedirs(backup_path, exist_ok=True)  # 이미 있어도 에러 없이 넘어갑니다</code></pre><pre><code># 5. 해당 파일들을 backup 폴더로 복사합니다</code></pre><pre><code>for f in target_files:</code></pre><pre><code>    source = f'./qtr/{f}'          # 원본 파일 경로</code></pre><pre><code>    destination = f'{backup_path}/{f}'  # 복사될 위치</code></pre><pre><code>    shutil.copy(source, destination)    # 파일 복사</code></pre><pre><code>    print(f"📄 복사 완료: {f} → backup 폴더")</code></pre><pre><code># 최종 결과 요약</code></pre><pre><code>print(f"\n✅ 총 {len(target_files)}개의 파일이 'backup' 폴더로 복사되었습니다.")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 01:09:27 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474753279</guid>
      </item>
      <item>
         <title>실습 3. glob</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474753601</link>
         <description><![CDATA[<ul><li><p>특정 폴더 내의 모든 .xlsx 파일 경로를 불러와 리스트로 출력해보세요.</p></li><li><p>여러 개의 엑셀 파일을 불러와 하나의 DataFrame으로 병합한 뒤, VIP 고객을 제외하고 저장해보세요.</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>import glob</code></pre><pre><code>import os</code></pre><pre><code># 1. ./branch 폴더 내 모든 .xlsx 파일 경로 가져오기</code></pre><pre><code>file_list = glob.glob('./branch/*.xlsx')</code></pre><pre><code># 파일 리스트 출력</code></pre><pre><code>print("📂 불러온 파일 목록:")</code></pre><pre><code>for file in file_list:</code></pre><pre><code>    print(file)</code></pre><pre><code># 2. 컬럼명 통일 매핑 정의</code></pre><pre><code># ➤ 서로 다른 엑셀 파일의 필드명이 다를 때,</code></pre><pre><code># ➤ 이처럼 '바꿔야 할 항목만' 명시한 매핑 딕셔너리를 사용하는 것이 가장 관리가 편함</code></pre><pre><code># ➤ 새로운 파일 구조가 등장할 경우, 여기에 항목을 추가만 하면 되므로 유지보수에 강한 구조</code></pre><pre><code>col_mapping = {</code></pre><pre><code>    '이름': '고객명',</code></pre><pre><code>    'Name': '고객명',</code></pre><pre><code>    '회원등급': '등급',</code></pre><pre><code>    'Grade': '등급',</code></pre><pre><code>    '금액': '거래금액',</code></pre><pre><code>    'Amount': '거래금액'</code></pre><pre><code>}</code></pre><pre><code># 3. 파일별 처리 및 병합</code></pre><pre><code>df_list = []</code></pre><pre><code>for file in file_list:</code></pre><pre><code>    df = pd.read_excel(file)</code></pre><pre><code>    # 컬럼명 통일</code></pre><pre><code>    df.rename(columns=col_mapping, inplace=True)</code></pre><pre><code>    # 지점명 필드 추가 (파일명에서 추출)</code></pre><pre><code>    branch_name = os.path.splitext(os.path.basename(file))[0]</code></pre><pre><code>    df['지점명'] = branch_name</code></pre><pre><code>    df_list.append(df)</code></pre><pre><code># 4. 전체 병합</code></pre><pre><code>merged_df = pd.concat(df_list, ignore_index=True)</code></pre><pre><code># 5. VIP 고객 제외</code></pre><pre><code>filtered_df = merged_df[merged_df['등급'] != 'VIP']</code></pre><pre><code># 6. 결과 확인 및 저장</code></pre><pre><code>print("\n✅ VIP 고객 제외한 병합 결과 미리보기:")</code></pre><pre><code>print(filtered_df.head())</code></pre><pre><code># 저장 경로 지정</code></pre><pre><code>output_path = './branch/전체_병합_비VIP고객.xlsx'</code></pre><pre><code>filtered_df.to_excel(output_path, index=False)</code></pre><pre><code>print(f"\n💾 저장 완료: {output_path}")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 01:10:36 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474753601</guid>
      </item>
      <item>
         <title>파일별 필드명 확인</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474753790</link>
         <description><![CDATA[<pre><code># 파일별로 처음 몇 개 컬럼명을 출력해서 확인해보는 방법</code></pre><pre><code>for file in file_list:</code></pre><pre><code>    df = pd.read_excel(file)</code></pre><pre><code>    print(f"\n📄 {file} 컬럼명:", list(df.columns))</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 01:11:18 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474753790</guid>
      </item>
      <item>
         <title>파일별 필드명 추출 &amp; 중복제거</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474753881</link>
         <description><![CDATA[<pre><code>import pandas as pd</code></pre><pre><code>import glob</code></pre><pre><code># 1. 폴더 내 모든 .xlsx 파일 경로 불러오기</code></pre><pre><code>file_list = glob.glob('./branch_variation/*.xlsx')</code></pre><pre><code># 2. 모든 컬럼명을 수집</code></pre><pre><code>all_columns = []</code></pre><pre><code>for file in file_list:</code></pre><pre><code>    df = pd.read_excel(file, nrows=1)  # 컬럼명만 확인하므로 첫 줄만 읽기</code></pre><pre><code>    all_columns.extend(df.columns.tolist())</code></pre><pre><code># 3. 중복 제거하고 정렬된 컬럼명 리스트 생성</code></pre><pre><code>unique_columns = sorted(set(all_columns))</code></pre><pre><code># 4. 결과 출력: ChatGPT에 던질 수 있도록 쉼표로 연결된 문자열 형태로 출력</code></pre><pre><code>print("🧾 고유 컬럼명 목록 (중복 제거됨):\n")</code></pre><pre><code>print(", ".join(unique_columns))</code></pre><pre><code></code></pre>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 01:11:57 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474753881</guid>
      </item>
      <item>
         <title>ChatGPT에게 분류 요청</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474754123</link>
         <description><![CDATA[<pre><code>다음은 여러 지점 엑셀 파일에서 추출한 컬럼명 목록입니다. 같은 의미를 가진 컬럼끼리 묶어주세요. 

Amount, Grade, Name, 거래금액, 고객등급, 고객명, 고객이름, 금액, 등급, 이름, 이용금액, 회원등급</code></pre>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 01:13:09 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474754123</guid>
      </item>
      <item>
         <title>분류된 매핑으로 통합 파일 만들기</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474754302</link>
         <description><![CDATA[<pre><code>import pandas as pd</code></pre><pre><code>import glob</code></pre><pre><code>import os</code></pre><pre><code># 1. 폴더 내 파일 경로 수집</code></pre><pre><code>file_list = glob.glob('./branch_variation/*.xlsx')</code></pre><pre><code># 2. 컬럼명 표준화 매핑 딕셔너리</code></pre><pre><code>col_mapping = {</code></pre><pre><code>    '이름': '고객명',</code></pre><pre><code>    '고객이름': '고객명',</code></pre><pre><code>    'Name': '고객명',</code></pre><pre><code>    '회원등급': '등급',</code></pre><pre><code>    '고객등급': '등급',</code></pre><pre><code>    'Grade': '등급',</code></pre><pre><code>    '금액': '거래금액',</code></pre><pre><code>    'Amount': '거래금액',</code></pre><pre><code>    '이용금액': '거래금액'</code></pre><pre><code>}</code></pre><pre><code># 3. 파일별 처리 및 병합 준비</code></pre><pre><code>df_list = []</code></pre><pre><code>for file in file_list:</code></pre><pre><code>    df = pd.read_excel(file)</code></pre><pre><code>    </code></pre><pre><code>    # 컬럼명 표준화 (필요한 항목만 변경됨)</code></pre><pre><code>    df.rename(columns=col_mapping, inplace=True)</code></pre><pre><code>    </code></pre><pre><code>    # 지점명 필드 추가 (파일명에서 추출)</code></pre><pre><code>    branch_name = os.path.splitext(os.path.basename(file))[0]</code></pre><pre><code>    df['지점명'] = branch_name</code></pre><pre><code>    </code></pre><pre><code>    df_list.append(df)</code></pre><pre><code># 4. 전체 병합</code></pre><pre><code>merged_df = pd.concat(df_list, ignore_index=True)</code></pre><pre><code># 5. VIP 고객 제외</code></pre><pre><code>filtered_df = merged_df[merged_df['등급'] != 'VIP']</code></pre><pre><code># 6. 결과 저장</code></pre><pre><code>output_path = './branch_variation/통합_비VIP고객.xlsx'</code></pre><pre><code>filtered_df.to_excel(output_path, index=False)</code></pre><pre><code># 7. 결과 확인</code></pre><pre><code>print("✅ 통합 완료. 저장된 파일:", output_path)</code></pre><pre><code>print(filtered_df.head())</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 01:14:15 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474754302</guid>
      </item>
      <item>
         <title>실습4. datetime</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474755891</link>
         <description><![CDATA[<ul><li><p>가입일자를 날짜형으로 변환하고, 오늘 날짜와 비교해보세요.</p></li><li><p>가입일 기준으로 최근 3개월 이내 고객만 추출해 파일로 저장해보세요.</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>from datetime import datetime, timedelta</code></pre><pre><code># 1. 엑셀 파일 불러오기</code></pre><pre><code>df = pd.read_excel("가입일_기준_고객데이터.xlsx")</code></pre><pre><code># 2. '가입일자' 컬럼을 문자열에서 날짜형으로 변환</code></pre><pre><code>df['가입일자'] = pd.to_datetime(df['가입일자'])</code></pre><pre><code># 확인: 변환된 날짜형 데이터 상위 5개</code></pre><pre><code>print("✅ 가입일자 컬럼을 날짜형으로 변환한 결과:")</code></pre><pre><code>print(df[['고객ID', '가입일자']].head())</code></pre><pre><code># 3. 오늘 날짜 기준으로 최근 3개월 이내(90일 이내) 고객만 추출</code></pre><pre><code>today = datetime.today()</code></pre><pre><code>three_months_ago = today - timedelta(days=90)</code></pre><pre><code># 가입일자가 최근 3개월 이내인 고객 필터링</code></pre><pre><code>recent_customers = df[df['가입일자'] &gt;= three_months_ago]</code></pre><pre><code># 결과 확인</code></pre><pre><code>print(f"\n📌 최근 3개월 이내 가입 고객 수: {len(recent_customers)}명")</code></pre><pre><code>print(recent_customers.head())</code></pre><pre><code># 4. 최근 3개월 이내 고객 데이터를 새 엑셀 파일로 저장</code></pre><pre><code>output_file = "최근3개월_가입고객.xlsx"</code></pre><pre><code>recent_customers.to_excel(output_file, index=False)</code></pre><pre><code>print(f"\n💾 최근 3개월 이내 고객 데이터를 '{output_file}' 파일로 저장했습니다.")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 01:21:09 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474755891</guid>
      </item>
      <item>
         <title>timedelta는 다음과 같은 단위만 지원</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474756137</link>
         <description><![CDATA[<ul><li><p>days</p></li><li><p>seconds</p></li><li><p>microseconds</p></li><li><p>milliseconds</p></li><li><p>minutes</p></li><li><p>hours</p></li><li><p>weeks</p></li></ul><p><br/></p><p>❗ 왜 months는 안될까?</p><p>월(month)은 일(day)처럼 고정된 길이가 아니기 때문입니다.</p><ul><li><p>1월 = 31일, 2월 = 28일 또는 29일, 4월 = 30일 …<br>→ 따라서 단순히 "3개월 전"은 정확히 며칠 전인지 애매합니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 01:22:23 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474756137</guid>
      </item>
      <item>
         <title>실습 5. matplotlib</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474757159</link>
         <description><![CDATA[<ul><li><p>일별 가입자 수를 선형 그래프로 시각화해보세요.</p></li><li><p>가입자 수와 평균 거래금액을 이중축 그래프로 시각화하고, 이미지로 저장해보세요.</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>import matplotlib.pyplot as plt</code></pre><pre><code>import matplotlib.font_manager as fm</code></pre><pre><code>import matplotlib as mpl</code></pre><pre><code># ✅ 한글 폰트 설정: Windows 기준 'Malgun Gothic' 사용</code></pre><pre><code>plt.rcParams['font.family'] = 'Malgun Gothic'</code></pre><pre><code># ✅ 마이너스 깨짐 방지</code></pre><pre><code>mpl.rcParams['axes.unicode_minus'] = False</code></pre><pre><code># 엑셀 파일 불러오기</code></pre><pre><code>df = pd.read_excel('가입자_거래금액_일별데이터.xlsx')</code></pre><pre><code># 날짜를 인덱스로 설정</code></pre><pre><code>df['날짜'] = pd.to_datetime(df['날짜'])</code></pre><pre><code># 1️⃣ 일별 가입자 수를 선형 그래프로 시각화</code></pre><pre><code>plt.figure(figsize=(12, 6))  # 그래프 크기 설정</code></pre><pre><code>plt.plot(df['날짜'], df['일별_가입자수'], marker='o', linestyle='-', label='가입자 수')</code></pre><pre><code>plt.title('일별 가입자 수')</code></pre><pre><code>plt.xlabel('날짜')</code></pre><pre><code>plt.ylabel('가입자 수')</code></pre><pre><code>plt.grid(True)</code></pre><pre><code>plt.tight_layout()</code></pre><pre><code>plt.show()</code></pre><pre><code># 2️⃣ 가입자 수와 평균 거래금액을 이중축 그래프로 시각화</code></pre><pre><code>fig, ax1 = plt.subplots(figsize=(12, 6))</code></pre><pre><code># 첫 번째 축: 가입자 수</code></pre><pre><code>ax1.plot(df['날짜'], df['일별_가입자수'], 'b-', label='가입자 수')</code></pre><pre><code>ax1.set_xlabel('날짜')</code></pre><pre><code>ax1.set_ylabel('가입자 수', color='b')</code></pre><pre><code>ax1.tick_params(axis='y', labelcolor='b')</code></pre><pre><code># 두 번째 축: 평균 거래금액</code></pre><pre><code>ax2 = ax1.twinx()</code></pre><pre><code>ax2.plot(df['날짜'], df['평균_거래금액'], 'r--', label='평균 거래금액')</code></pre><pre><code>ax2.set_ylabel('평균 거래금액 (원)', color='r')</code></pre><pre><code>ax2.tick_params(axis='y', labelcolor='r')</code></pre><pre><code># 제목 및 레이아웃</code></pre><pre><code>plt.title('가입자 수와 평균 거래금액 이중축 그래프')</code></pre><pre><code>fig.tight_layout()</code></pre><pre><code># 이미지로 저장</code></pre><pre><code>plt.savefig('가입자_거래금액_이중축그래프.png')  # 같은 폴더에 PNG 파일로 저장</code></pre><pre><code>plt.show()</code></pre><pre><code># 이미지 저장 확인용 메시지</code></pre><pre><code>print("✅ '가입자_거래금액_이중축그래프.png' 파일로 그래프 저장 완료되었습니다.")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 01:27:31 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474757159</guid>
      </item>
      <item>
         <title>실습 6. seaborn</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474757982</link>
         <description><![CDATA[<ul><li><p>거래금액 분포를 히스토그램과 박스플롯으로 시각화해보세요.</p></li><li><p>고객 등급별 거래금액 분포를 바이올린 플롯으로 시각화하고, 상관관계를 heatmap으로 표현해보세요.</p><p><br/></p></li></ul><pre><code>import pandas as pd</code></pre><pre><code>import seaborn as sns</code></pre><pre><code>import matplotlib.pyplot as plt</code></pre><pre><code>import matplotlib as mpl</code></pre><pre><code># ✅ 한글 폰트 설정 (Windows: Malgun Gothic)</code></pre><pre><code>plt.rcParams['font.family'] = 'Malgun Gothic'</code></pre><pre><code>mpl.rcParams['axes.unicode_minus'] = False</code></pre><pre><code># 엑셀 파일 불러오기</code></pre><pre><code>df = pd.read_excel('거래금액_분포_등급별상관분석_데이터.xlsx')</code></pre><pre><code># 1️⃣ 거래금액 분포 히스토그램</code></pre><pre><code>plt.figure(figsize=(10, 5))</code></pre><pre><code>sns.histplot(df['거래금액'], bins=30, kde=True)</code></pre><pre><code>plt.title('거래금액 분포 (히스토그램)')</code></pre><pre><code>plt.xlabel('거래금액')</code></pre><pre><code>plt.ylabel('빈도')</code></pre><pre><code>plt.tight_layout()</code></pre><pre><code>plt.show()</code></pre><pre><code># 2️⃣ 거래금액 박스플롯</code></pre><pre><code>plt.figure(figsize=(8, 5))</code></pre><pre><code>sns.boxplot(x=df['거래금액'])</code></pre><pre><code>plt.title('거래금액 분포 (박스플롯)')</code></pre><pre><code>plt.tight_layout()</code></pre><pre><code>plt.show()</code></pre><pre><code># 3️⃣ 고객등급별 거래금액 바이올린 플롯</code></pre><pre><code>plt.figure(figsize=(8, 5))</code></pre><pre><code>sns.violinplot(x='고객등급', y='거래금액', data=df)</code></pre><pre><code>plt.title('고객등급별 거래금액 분포 (바이올린 플롯)')</code></pre><pre><code>plt.tight_layout()</code></pre><pre><code>plt.show()</code></pre><pre><code># 4️⃣ 상관관계 히트맵</code></pre><pre><code>plt.figure(figsize=(8, 6))</code></pre><pre><code>corr = df[['거래금액', '나이', '가입기간', '거래횟수']].corr()</code></pre><pre><code>sns.heatmap(corr, annot=True, cmap='YlGnBu', fmt=".2f")</code></pre><pre><code>plt.title('수치형 변수 간 상관관계 (Heatmap)')</code></pre><pre><code>plt.tight_layout()</code></pre><pre><code>plt.show()</code></pre><p><br/></p><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 01:31:52 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474757982</guid>
      </item>
      <item>
         <title>실습 7. numpy</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474759846</link>
         <description><![CDATA[<ul><li><p>거래금액 리스트에서 평균과 표준편차를 구해보세요.</p></li><li><p>이상치(평균 ± 2표준편차 초과)를 제거하고 거래금액을 0~1 범위로 정규화해보세요.</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>import numpy as np</code></pre><pre><code># 1. 엑셀 파일에서 거래금액 데이터 불러오기</code></pre><pre><code>df = pd.read_excel("numpy_거래금액_실습파일.xlsx")  # 파일 경로는 실행 위치 기준</code></pre><pre><code>print("원본 데이터 미리보기:")</code></pre><pre><code>print(df.head())</code></pre><pre><code># 2. 평균과 표준편차 계산</code></pre><pre><code>mean = df['거래금액'].mean()</code></pre><pre><code>std = df['거래금액'].std()</code></pre><pre><code>print("\n평균:", mean)</code></pre><pre><code>print("표준편차:", std)</code></pre><pre><code># 3. 이상치 기준값 설정 (평균 ± 2 * 표준편차)</code></pre><pre><code>lower_bound = mean - 2 * std</code></pre><pre><code>upper_bound = mean + 2 * std</code></pre><pre><code># 4. 이상치를 제거 (조건에 해당하는 행만 추출)</code></pre><pre><code># ⚠ 이때, pandas는 슬라이싱 결과가 'view'인지 'copy'인지 불확실하여 경고를 발생시킴</code></pre><pre><code># ✅ 따라서 .copy()를 붙여 "나는 완전히 독립된 복사본이야"라고 명시적으로 선언함</code></pre><pre><code>filtered_df = df[(df['거래금액'] &gt;= lower_bound) &amp; (df['거래금액'] &lt;= upper_bound)].copy()</code></pre><pre><code>print("\n이상치 제거 후 데이터 수:", len(filtered_df))</code></pre><pre><code># 5. 이상치 제거된 데이터의 최소값과 최대값을 구함 (정규화를 위해)</code></pre><pre><code>min_val = filtered_df['거래금액'].min()</code></pre><pre><code>max_val = filtered_df['거래금액'].max()</code></pre><pre><code># 6. 거래금액을 0~1 사이로 정규화 (Min-Max Scaling)</code></pre><pre><code># ✅ 이 부분에서 경고 없이 수정 가능 (filtered_df는 복사본이므로 안전함)</code></pre><pre><code>filtered_df['정규화된금액'] = (filtered_df['거래금액'] - min_val) / (max_val - min_val)</code></pre><pre><code># 7. 결과 미리보기 출력</code></pre><pre><code>print("\n정규화된 데이터 미리보기:")</code></pre><pre><code>print(filtered_df.head())</code></pre><pre><code># 8. 정규화된 결과를 새로운 엑셀 파일로 저장</code></pre><pre><code>filtered_df.to_excel("정규화_결과파일.xlsx", index=False)</code></pre><pre><code>print("\n[정규화_결과파일.xlsx] 파일로 저장 완료")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 01:40:34 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474759846</guid>
      </item>
      <item>
         <title>실습 8. openpyxl</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474765713</link>
         <description><![CDATA[<ul><li><p><strong>새로운 엑셀 파일을 생성하고</strong>, 요약 시트를 만들어<br><strong>특정 셀에 제목과 전체 고객 수, 등급별 통계 정보를 입력한 후 저장</strong></p></li><li><p><strong>고객 데이터를 읽어와</strong>, 고객 <strong>등급(VIP, Gold, Silver, Bronze)</strong> 에 따라<br><strong>시트를 자동으로 나눠 생성</strong>하고,<br>각 시트에 <strong>고객 목록을 기록하며, 상위 고객(Top 5)에게 굵은 글씨 서식을 적용</strong></p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>from openpyxl import Workbook</code></pre><pre><code>from openpyxl.styles import Font</code></pre><pre><code># 1. 엑셀에서 고객 데이터 불러오기</code></pre><pre><code>df = pd.read_excel("실습용_고객데이터.xlsx")  # 같은 폴더에 있어야 함</code></pre><pre><code># 2. 엑셀 워크북 생성</code></pre><pre><code>wb = Workbook()</code></pre><pre><code># 3. 요약 시트 작성</code></pre><pre><code>ws_summary = wb.active</code></pre><pre><code>ws_summary.title = "요약"</code></pre><pre><code># 전체 고객 수</code></pre><pre><code>total_customers = len(df)</code></pre><pre><code># 등급별 통계 계산</code></pre><pre><code>summary_stats = df.groupby('등급')['거래금액'].agg(['count', 'mean', 'sum']).reset_index()</code></pre><pre><code>summary_stats['비율'] = (summary_stats['count'] / total_customers * 100).round(1).astype(str) + '%'</code></pre><pre><code># 제목 입력</code></pre><pre><code>ws_summary['A1'] = "2025년 6월 고객 등급별 보고서"</code></pre><pre><code>ws_summary['A1'].font = Font(bold=True, size=14)</code></pre><pre><code># 요약 정보 입력</code></pre><pre><code>ws_summary.append([""])</code></pre><pre><code>ws_summary.append(["전체 고객 수", total_customers])</code></pre><pre><code>ws_summary.append([""])</code></pre><pre><code># 통계 테이블 헤더</code></pre><pre><code>ws_summary.append(["등급", "고객 수", "평균 거래금액", "누적 거래금액", "비율"])</code></pre><pre><code># 통계 데이터 행 입력</code></pre><pre><code>for row in summary_stats.itertuples(index=False):</code></pre><pre><code>    ws_summary.append(list(row))</code></pre><pre><code># 4. 등급별 시트 생성 및 데이터 입력</code></pre><pre><code>for grade in df['등급'].unique():</code></pre><pre><code>    sheet = wb.create_sheet(title=grade)</code></pre><pre><code>    sheet.append([f"{grade} 등급 고객 목록"])  # 제목 행</code></pre><pre><code>    sheet.append(["고객명", "등급", "거래금액"])  # 헤더 행</code></pre><pre><code>    </code></pre><pre><code>    grade_df = df[df['등급'] == grade].sort_values(by='거래금액', ascending=False).reset_index(drop=True)</code></pre><pre><code>    for i, row in grade_df.iterrows():</code></pre><pre><code>        values = list(row)</code></pre><pre><code>        sheet.append(values)</code></pre><pre><code>        # 상위 5명의 고객은 굵은 글씨로 강조</code></pre><pre><code>        if i &lt; 5:</code></pre><pre><code>            for cell in sheet[sheet.max_row]:</code></pre><pre><code>                cell.font = Font(bold=True)</code></pre><pre><code># 5. 보고서 엑셀 파일 저장</code></pre><pre><code>wb.save("고객등급별_보고서_완성본.xlsx")</code></pre><pre><code>print("보고서가 생성되었습니다: 고객등급별_보고서_완성본.xlsx")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 02:07:29 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474765713</guid>
      </item>
      <item>
         <title>실습 9. re</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474772750</link>
         <description><![CDATA[<ul><li><p>고객 ID 중 'C-'로 시작하는 코드만 추출</p></li><li><p>고객 데이터에서 휴대전화 번호 형식이 잘못된 항목을 정규표현식으로 찾아 수정해보세요.</p><p>→ 010-1234-5678 형식을 기준으로, 구분자 오류 등은 자동 보정하고, 문자 포함·자리수 부족 등은 “확인 필요”로 분류</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>import re</code></pre><pre><code># 엑셀 파일 불러오기</code></pre><pre><code>df = pd.read_excel("re_실습용_고객데이터_수정포함.xlsx")</code></pre><pre><code># 'C-'로 시작하는 고객만 필터링</code></pre><pre><code>df_c = df[df['고객ID'].astype(str).str.startswith('C-')].copy()</code></pre><pre><code># 전화번호 분석 함수</code></pre><pre><code>def analyze_phone(phone):</code></pre><pre><code>    try:</code></pre><pre><code>        original = phone</code></pre><pre><code>        phone_str = str(phone).strip()</code></pre><pre><code>        if not phone_str or phone_str.lower() in ["nan", "none"]:</code></pre><pre><code>            return original, "", "확인 필요", "공란 또는 공백 문자"</code></pre><pre><code>        if re.match(r'^010-\d{4}-\d{4}$', phone_str):</code></pre><pre><code>            return original, phone_str, "정상", "정상 형식"</code></pre><pre><code>        digits = ''.join(re.findall(r'\d', phone_str))</code></pre><pre><code>        if len(digits) == 11 and digits.startswith("010"):</code></pre><pre><code>            fixed = f"{digits[:3]}-{digits[3:7]}-{digits[7:]}"</code></pre><pre><code>            if '-' not in phone_str:</code></pre><pre><code>                reason = "구분자 없음"</code></pre><pre><code>            elif '.' in phone_str:</code></pre><pre><code>                reason = "구분자로 . 사용"</code></pre><pre><code>            elif ' ' in phone_str:</code></pre><pre><code>                reason = "공백 구분자"</code></pre><pre><code>            else:</code></pre><pre><code>                reason = "기타 형식 오류"</code></pre><pre><code>            return original, fixed, "수정됨", reason</code></pre><pre><code>        if not phone_str.startswith("010"):</code></pre><pre><code>            reason = "앞자리 오류"</code></pre><pre><code>        elif len(digits) &lt; 11:</code></pre><pre><code>            reason = "자리수 부족"</code></pre><pre><code>        elif re.search(r'\D', phone_str.replace('-', '')):</code></pre><pre><code>            reason = "숫자 외 문자 포함"</code></pre><pre><code>        else:</code></pre><pre><code>            reason = "기타"</code></pre><pre><code>        return original, "", "확인 필요", reason</code></pre><pre><code>    except Exception as e:</code></pre><pre><code>        return phone, "", "확인 필요", f"예외 발생: {e}"</code></pre><pre><code># 처리 결과 리스트 생성</code></pre><pre><code>results = [analyze_phone(phone) for phone in df_c['휴대폰번호']]</code></pre><pre><code># 결과 열 할당</code></pre><pre><code>df_c = df_c.assign(</code></pre><pre><code>    원본번호=[r[0] for r in results],</code></pre><pre><code>    수정후번호=[r[1] for r in results],</code></pre><pre><code>    처리결과=[r[2] for r in results],</code></pre><pre><code>    처리사유=[r[3] for r in results],</code></pre><pre><code>)</code></pre><pre><code># 저장</code></pre><pre><code>df_c.to_excel("C고객_전화번호_전체결과_입력보존_정상화.xlsx", index=False)</code></pre><pre><code>print("✅ 결과 저장 완료: C고객_전화번호_전체결과_입력보존_정상화.xlsx")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 02:33:57 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474772750</guid>
      </item>
      <item>
         <title>실습 1. 엑셀 파일 불러오기</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474789583</link>
         <description><![CDATA[<ul><li><p>고객가입데이터.xlsx 파일을 불러오고, 상위 5개 행을 출력해보세요.</p></li><li><p>열 이름 목록과 데이터 형식을 확인해보세요 (df.columns, <a rel="noopener noreferrer nofollow" href="http://df.info">df.info</a>() 활용).</p></li></ul><p><br/></p><pre><code># pandas 라이브러리를 불러옵니다. (엑셀 파일 작업을 위한 필수 라이브러리)</code></pre><pre><code>import pandas as pd</code></pre><pre><code># 엑셀 파일을 읽어옵니다. 파일명은 '고객가입데이터.xlsx'라고 가정합니다.</code></pre><pre><code>df = pd.read_excel('고객가입데이터.xlsx')</code></pre><pre><code># 불러온 데이터의 상위 5개 행을 출력해 봅니다.</code></pre><pre><code>print("📌 상위 5개 행 미리보기:")</code></pre><pre><code>print(df.head())</code></pre><pre><code># 열 이름(컬럼명) 목록을 확인해 봅니다.</code></pre><pre><code>print("\n📌 열 이름 목록:")</code></pre><pre><code>print(df.columns)</code></pre><pre><code># 각 열의 데이터 타입 및 null 값 여부, 전체 정보 확인</code></pre><pre><code>print("\n📌 데이터프레임 전체 정보:")</code></pre><pre><code>df.info()</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 03:46:44 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474789583</guid>
      </item>
      <item>
         <title>실습 2. 열 이름 및 열 구성 정리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474791537</link>
         <description><![CDATA[<ul><li><p>열 이름의 공백을 제거하고, 모두 소문자로 통일해보세요.</p></li><li><p>분석에 필요한 열만 추려서 새로운 DataFrame으로 구성해보세요.</p></li><li><p>‘고객등급’ 같은 열 이름을 {"고객등급": "grade"}와 같은 매핑으로 바꿔보세요.</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code># 1. 엑셀 파일 불러오기</code></pre><pre><code>df = pd.read_excel("고객가입데이터.xlsx")</code></pre><pre><code># 2. 열 이름의 공백 제거 + 소문자로 통일</code></pre><pre><code>df.columns = [col.strip().lower() for col in df.columns]</code></pre><pre><code># 3. 확인용 출력: 정리된 열 이름 확인</code></pre><pre><code>print("📌 정리된 열 이름:", df.columns.tolist())</code></pre><pre><code># 4. 필요한 열만 선택 (정리된 열 이름 기준으로 정확히 지정)</code></pre><pre><code>selected_columns = ['이름', '고객등급', '가입일', '가입금액']  # ✅ 수정된 열 이름</code></pre><pre><code># 5. 선택한 열로 새로운 데이터프레임 생성</code></pre><pre><code>df_selected = df[selected_columns].copy()  # ✅ .copy() 추가로 경고 방지</code></pre><pre><code># 6. 열 이름 매핑 (한글 → 영어로 변경)</code></pre><pre><code>rename_dict = {</code></pre><pre><code>    '이름': 'name',</code></pre><pre><code>    '고객등급': 'grade',</code></pre><pre><code>    '가입일': 'join_date',</code></pre><pre><code>    '가입금액': 'amount'</code></pre><pre><code>}</code></pre><pre><code>df_selected.rename(columns=rename_dict, inplace=True)</code></pre><pre><code># 7. 최종 확인 출력</code></pre><pre><code>print("\n📌 최종 열 이름 변경 후 데이터프레임:")</code></pre><pre><code>print(df_selected.head())</code></pre><p><br/></p><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 03:53:26 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474791537</guid>
      </item>
      <item>
         <title>실습 3. 결측값 및 이상치 처리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474792856</link>
         <description><![CDATA[<ul><li><p>결측값이 포함된 행의 수를 확인해보고, 제거해보세요.</p></li><li><p>거래금액이 없는 경우 0으로 채우고, 고객등급이 비어있는 경우 ‘일반’으로 바꿔보세요.</p></li><li><p>거래금액에서 평균 ± 2표준편차를 벗어난 값을 이상치로 간주하고 제거해보세요.</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>import numpy as np</code></pre><pre><code># 1. 엑셀 파일 불러오기</code></pre><pre><code>df = pd.read_excel('고객데이터_결측_이상치포함.xlsx')</code></pre><pre><code># 2. 열 이름 정리: 공백 제거 + 소문자로 변환</code></pre><pre><code>df.columns = [col.strip().lower() for col in df.columns]</code></pre><pre><code># 3. 결측값 확인</code></pre><pre><code>print("📌 결측값 포함 행 수:", df.isnull().any(axis=1).sum())</code></pre><pre><code># 4. 결측값 처리</code></pre><pre><code>df['거래금액'] = df['거래금액'].fillna(0)</code></pre><pre><code>df['고객등급'] = df['고객등급'].fillna('일반')</code></pre><pre><code># 5. 이상치 기준 계산 (평균 ± 2표준편차)</code></pre><pre><code>mean = df['거래금액'].mean()</code></pre><pre><code>std = df['거래금액'].std()</code></pre><pre><code>lower = mean - 2 * std</code></pre><pre><code>upper = mean + 2 * std</code></pre><pre><code>print(f"\n📌 거래금액 평균: {mean:.2f}, 표준편차: {std:.2f}")</code></pre><pre><code>print(f"   → 이상치 기준: {lower:.2f} ~ {upper:.2f}")</code></pre><pre><code># 6. 이상치 제거</code></pre><pre><code>df_cleaned = df[(df['거래금액'] &gt;= lower) &amp; (df['거래금액'] &lt;= upper)]</code></pre><pre><code># 7. 최종 결과 출력</code></pre><pre><code>print("\n✅ 최종 처리 결과 미리보기 (상위 5개):")</code></pre><pre><code>print(df_cleaned.head())</code></pre><pre><code>print(f"\n✅ 최종 행 수: {len(df_cleaned)}")</code></pre><pre><code># 8. 파일로 저장</code></pre><pre><code>output_path = '고객데이터_클린버전.xlsx'</code></pre><pre><code>df_cleaned.to_excel(output_path, index=False)</code></pre><pre><code>print(f"\n📁 최종 파일 저장 완료: {output_path}")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 03:58:25 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474792856</guid>
      </item>
      <item>
         <title>실습 4. 중복 및 오류 데이터 제거</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474794298</link>
         <description><![CDATA[<ul><li><p>전체 행 중 중복 데이터를 제거해보세요.</p></li><li><p>고객 ID + 가입일 기준으로 중복된 경우만 제거해보세요.</p></li><li><p>‘C-’로 시작하지 않는 고객 ID는 오류 데이터일 수 있습니다. 해당 항목을 확인한 후, 수정하거나 제거해보세요.</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code># 1. 엑셀 파일 불러오기</code></pre><pre><code>df = pd.read_excel("중복_및_오류_데이터_실습용.xlsx")</code></pre><pre><code># 원본 데이터 확인</code></pre><pre><code>print("원본 데이터 행 수:", len(df))</code></pre><pre><code># 2. 전체 중복 행 제거</code></pre><pre><code>df_no_full_dup = df.drop_duplicates()</code></pre><pre><code>print("전체 중복 제거 후 행 수:", len(df_no_full_dup))</code></pre><pre><code># 3. '고객ID' + '가입일' 기준 중복 제거</code></pre><pre><code># 기본 동작은 keep='first'로, 중복되는 경우 '가장 먼저 등장한 행'을 남깁니다.</code></pre><pre><code># 예를 들어, C-0012 고객이 같은 가입일로 두 번 기록되었을 경우 먼저 기록된 것만 남고 나중 것은 삭제됩니다.</code></pre><pre><code># 만약 최근 데이터를 남기고 싶다면 keep='last'로 변경하면 됩니다.</code></pre><pre><code>df_no_id_date_dup = df.drop_duplicates(subset=['고객ID', '가입일'], keep='first')</code></pre><pre><code>print("고객ID + 가입일 기준 중복 제거 후 행 수:", len(df_no_id_date_dup))</code></pre><pre><code># 4. 'C-'로 시작하지 않는 고객ID 확인</code></pre><pre><code>invalid_id_df = df[~df['고객ID'].str.startswith("C-")]</code></pre><pre><code>print("C-로 시작하지 않는 고객ID 개수:", len(invalid_id_df))</code></pre><pre><code>print(invalid_id_df[['고객ID', '고객명']].head())  # 오류 데이터 일부 출력</code></pre><pre><code># 5. 'C-'로 시작하지 않는 고객ID 제거</code></pre><pre><code>df_valid_ids = df[df['고객ID'].str.startswith("C-")]</code></pre><pre><code>print("유효한 고객ID만 남긴 후 행 수:", len(df_valid_ids))</code></pre><pre><code># 6. 최종 결과 저장</code></pre><pre><code>df_valid_ids.to_excel("중복_오류제거_결과.xlsx", index=False)</code></pre><pre><code>print("최종 결과 파일이 저장되었습니다: 중복_오류제거_결과.xlsx")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 04:04:36 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474794298</guid>
      </item>
      <item>
         <title>실습 5. 조건 필터링</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474796223</link>
         <description><![CDATA[<ul><li><p>거래금액이 50만 원 미만이고 연체횟수가 2회 이상이며 VIP가 아닌 고객을 추출해보세요.</p></li><li><p>가입일 기준으로 최근 3개월 이내 고객만 따로 필터링해보세요.</p></li><li><p>등급이 ‘A’ 또는 ‘B’인 고객만 추출해 파일로 저장해보세요.</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>from datetime import datetime, timedelta</code></pre><pre><code># 1. 엑셀 파일 불러오기</code></pre><pre><code>df = pd.read_excel("조건_필터링_실습용.xlsx")</code></pre><pre><code># 오늘 날짜 기준 설정</code></pre><pre><code>today = datetime.today()</code></pre><pre><code># -----------------------------------------------</code></pre><pre><code># 조건 1: 거래금액이 50만 원 미만이고, 연체횟수가 2회 이상이며, 등급이 VIP가 아닌 고객</code></pre><pre><code>cond1 = (df['거래금액'] &lt; 500000) &amp; (df['연체횟수'] &gt;= 2) &amp; (df['등급'] != 'VIP')</code></pre><pre><code>filtered1 = df[cond1]</code></pre><pre><code>print("조건 1 - 거래금액 &lt; 50만, 연체 ≥ 2, VIP 제외 고객 수:", len(filtered1))</code></pre><pre><code>print(filtered1.head())  # 결과 일부 출력</code></pre><pre><code># -----------------------------------------------</code></pre><pre><code># 조건 2: 가입일 기준으로 최근 3개월 이내 고객</code></pre><pre><code>three_months_ago = today - timedelta(days=90)</code></pre><pre><code>cond2 = df['가입일'] &gt;= three_months_ago</code></pre><pre><code>filtered2 = df[cond2]</code></pre><pre><code>print("\n조건 2 - 최근 3개월 이내 가입 고객 수:", len(filtered2))</code></pre><pre><code>print(filtered2[['고객ID', '가입일']].head())</code></pre><pre><code># -----------------------------------------------</code></pre><pre><code># 조건 3: 등급이 A 또는 B인 고객만 추출해서 파일로 저장</code></pre><pre><code>cond3 = df['등급'].isin(['A', 'B'])</code></pre><pre><code>filtered3 = df[cond3]</code></pre><pre><code>print("\n조건 3 - 등급 A 또는 B 고객 수:", len(filtered3))</code></pre><pre><code>print(filtered3[['고객ID', '등급']].head())</code></pre><pre><code># 결과 저장</code></pre><pre><code>filtered3.to_excel("등급_A_or_B_고객.xlsx", index=False)</code></pre><pre><code>print("\n등급 A 또는 B 고객 데이터를 등급_A_or_B_고객.xlsx 파일로 저장했습니다.")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 04:11:28 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474796223</guid>
      </item>
      <item>
         <title>실습 6. 정렬 및 파생 열 생성</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474799133</link>
         <description><![CDATA[<ul><li><p>거래금액을 기준으로 내림차순 정렬해보세요.</p></li><li><p>등급(‘A’ → ‘B’ → ‘C’) 우선 + 거래금액 내림차순으로 정렬해보세요.</p></li><li><p>거래금액을 기준으로 ‘고액 고객’(100만 원 이상), ‘일반 고객’ 구분 열을 새로 만들어보세요.</p></li><li><p>가입일로부터 경과된 개월 수를 계산하는 ‘가입연차’ 열을 만들어보세요.</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>import numpy as np</code></pre><pre><code>from datetime import datetime</code></pre><pre><code>from dateutil.relativedelta import relativedelta  # 개월 수 계산을 위해 사용</code></pre><pre><code># 1. 엑셀 파일 불러오기</code></pre><pre><code>df = pd.read_excel("고객데이터_정렬및파생열실습용.xlsx")</code></pre><pre><code># 2. 거래금액 기준 내림차순 정렬</code></pre><pre><code>sorted_by_amount = df.sort_values(by='거래금액', ascending=False)</code></pre><pre><code>print("📌 거래금액 기준 내림차순 정렬 결과:")</code></pre><pre><code>print(sorted_by_amount.head())</code></pre><pre><code># 3. 등급 기준 정렬을 위한 Categorical 설정 (A &gt; B &gt; C)</code></pre><pre><code>df['등급'] = pd.Categorical(df['등급'], categories=['A', 'B', 'C'], ordered=True)</code></pre><pre><code># 4. 등급 + 거래금액 기준 정렬</code></pre><pre><code>sorted_by_grade_amount = df.sort_values(by=['등급', '거래금액'], ascending=[True, False])</code></pre><pre><code>print("\n📌 등급 → 거래금액 기준 복합 정렬 결과:")</code></pre><pre><code>print(sorted_by_grade_amount.head())</code></pre><pre><code># 5. 고액 고객 / 일반 고객 구분</code></pre><pre><code>df['고객분류'] = df['거래금액'].apply(lambda x: '고액 고객' if x &gt;= 1_000_000 else '일반 고객')</code></pre><pre><code># 6. 가입연차 계산 (경과된 개월 수)</code></pre><pre><code>today = pd.Timestamp.today()</code></pre><pre><code>df['가입일'] = pd.to_datetime(df['가입일'])  # 날짜형 변환</code></pre><pre><code>def calculate_months(start_date, end_date):</code></pre><pre><code>    delta = relativedelta(end_date, start_date)</code></pre><pre><code>    return delta.years * 12 + delta.months</code></pre><pre><code>df['가입연차'] = df['가입일'].apply(lambda d: calculate_months(d, today))</code></pre><pre><code># 7. 최종 결과 출력</code></pre><pre><code>print("\n✅ 최종 파생 열 포함된 고객 데이터:")</code></pre><pre><code>print(df.head())</code></pre><pre><code># (선택) 엑셀로 저장</code></pre><pre><code># df.to_excel("고객데이터_정렬_파생열포함.xlsx", index=False)</code></pre><pre><code></code></pre>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 04:22:37 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474799133</guid>
      </item>
      <item>
         <title>실습 7. 저장</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474800501</link>
         <description><![CDATA[<ul><li><p>정제한 결과를 새로운 엑셀 파일로 저장해보세요.</p></li><li><p>고객 등급별로 파일을 나눠 저장해보세요 (예: grade_A.xlsx, grade_B.xlsx 등).</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code># 1. 엑셀 파일 불러오기</code></pre><pre><code>file_path = '고객데이터_정제필요.xlsx'</code></pre><pre><code>df = pd.read_excel(file_path)</code></pre><pre><code># 결과 확인</code></pre><pre><code>print("📌 원본 데이터 미리보기:")</code></pre><pre><code>print(df.head())</code></pre><pre><code># 2. 정제: 고객명 공백 제거, 고객등급 대문자로 통일 (예시 정제)</code></pre><pre><code>df['고객명'] = df['고객명'].str.strip()</code></pre><pre><code>df['고객등급'] = df['고객등급'].str.upper()</code></pre><pre><code># 3. 정제된 전체 데이터 저장</code></pre><pre><code>cleaned_file = '고객데이터_정제완료.xlsx'</code></pre><pre><code>df.to_excel(cleaned_file, index=False)</code></pre><pre><code>print(f"\n✅ 정제된 전체 데이터를 다음 파일로 저장했습니다: {cleaned_file}")</code></pre><pre><code># 4. 고객 등급별로 분할 저장</code></pre><pre><code>grade_list = df['고객등급'].unique()  # A, B, C 등의 등급 추출</code></pre><pre><code>print("\n📂 고객 등급별 파일 저장:")</code></pre><pre><code>for grade in grade_list:</code></pre><pre><code>    df_grade = df[df['고객등급'] == grade]</code></pre><pre><code>    grade_file = f"grade_{grade}.xlsx"</code></pre><pre><code>    df_grade.to_excel(grade_file, index=False)</code></pre><pre><code>    print(f" - {grade} 등급 고객 {len(df_grade)}명 → 저장 완료: {grade_file}")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 04:25:21 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474800501</guid>
      </item>
      <item>
         <title>실습 1. 단순 그룹 기준 분할 저장</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474806561</link>
         <description><![CDATA[<ul><li><p>고객 데이터를 ‘고객등급’ 기준으로 나누어 등급별 .xlsx 파일로 각각 저장해보세요.<br><em>(예: A.xlsx, B.xlsx, VIP.xlsx)</em></p></li><li><p>&nbsp;‘지점명’ 기준으로 데이터를 나누어, 각 지점명을 포함한 파일로 저장해보세요.<br><em>(예: 강남지점.xlsx, 분당지점.xlsx 등)</em></p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code># 1. 엑셀 파일 불러오기</code></pre><pre><code>df = pd.read_excel("고객데이터_실습1.xlsx")</code></pre><pre><code>print("전체 데이터 행 수:", len(df))</code></pre><pre><code>print("열 목록:", df.columns.tolist())</code></pre><pre><code># 2. 고객등급별로 분할 저장</code></pre><pre><code>for grade, group in df.groupby('고객등급'):</code></pre><pre><code>    filename = f"{grade}.xlsx"</code></pre><pre><code>    group.to_excel(filename, index=False)</code></pre><pre><code>    print(f"저장 완료: {filename} (행 수: {len(group)})")</code></pre><pre><code># 3. 지점명별로 분할 저장</code></pre><pre><code>for branch, group in df.groupby('지점명'):</code></pre><pre><code>    filename = f"{branch}.xlsx"</code></pre><pre><code>    group.to_excel(filename, index=False)</code></pre><pre><code>    print(f"저장 완료: {filename} (행 수: {len(group)})")</code></pre><pre><code></code></pre>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 04:45:15 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474806561</guid>
      </item>
      <item>
         <title>실습 2. 조건 필터 + 그룹 저장</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474807633</link>
         <description><![CDATA[<ul><li><p>거래금액이 100만 원 이상이고, 연체횟수가 1회 이상인 고객만 필터링한 후<br>고객등급별로 나누어 저장해보세요.</p></li><li><p>VIP 고객 중 연체 이력이 없는 고객만 추출한 후,<br>지점명 기준으로 나누어 저장해보세요.</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>import os</code></pre><pre><code># 1. 엑셀 파일 불러오기</code></pre><pre><code>df = pd.read_excel("조건필터_그룹저장_실습데이터.xlsx")</code></pre><pre><code># 2-1. 거래금액 ≥ 100만 원 &amp; 연체횟수 ≥ 1 → 고객등급별로 저장</code></pre><pre><code>filtered_df1 = df[(df['거래금액'] &gt;= 1000000) &amp; (df['연체횟수'] &gt;= 1)]</code></pre><pre><code>print(f"💡 거래금액 ≥ 100만 원 &amp; 연체횟수 ≥ 1인 고객 수: {len(filtered_df1)}명")</code></pre><pre><code># 고객등급별로 나누어 저장</code></pre><pre><code>output_folder1 = "등급별저장_조건1"</code></pre><pre><code>os.makedirs(output_folder1, exist_ok=True)</code></pre><pre><code>for grade, group in filtered_df1.groupby("고객등급"):</code></pre><pre><code>    filename = f"{output_folder1}/grade_{grade}.xlsx"</code></pre><pre><code>    group.to_excel(filename, index=False)</code></pre><pre><code>    print(f"✅ 저장 완료: {filename} (행 수: {len(group)})")</code></pre><pre><code># 2-2. VIP 고객 중 연체 이력 없는 고객 → 지점명 기준으로 저장</code></pre><pre><code>filtered_df2 = df[(df['고객등급']  'VIP') &amp; (df['연체횟수']  0)]</code></pre><pre><code>print(f"\n💡 연체 이력이 없는 VIP 고객 수: {len(filtered_df2)}명")</code></pre><pre><code># 지점명 기준으로 나누어 저장</code></pre><pre><code>output_folder2 = "지점별저장_조건2"</code></pre><pre><code>os.makedirs(output_folder2, exist_ok=True)</code></pre><pre><code>for branch, group in filtered_df2.groupby("지점명"):</code></pre><pre><code>    filename = f"{output_folder2}/vip_{branch}.xlsx"</code></pre><pre><code>    group.to_excel(filename, index=False)</code></pre><pre><code>    print(f"✅ 저장 완료: {filename} (행 수: {len(group)})")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 04:49:13 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474807633</guid>
      </item>
      <item>
         <title>실습 3. 파일명 동적 구성 + 저장</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474808952</link>
         <description><![CDATA[<ul><li><p>각 파일을 지점명_고객등급.xlsx 형식으로 저장해보세요.</p></li><li><p>저장하는 파일명에 오늘 날짜를 포함시켜 지점명_YYYYMMDD.xlsx 형식으로 저장해보세요.<br><em>(예: 대전지점_20240525.xlsx)</em></p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>from datetime import datetime</code></pre><pre><code>import os</code></pre><pre><code># 엑셀 파일 불러오기</code></pre><pre><code>df = pd.read_excel("고객정보_지점등급별_파일명구성실습.xlsx")</code></pre><pre><code># 오늘 날짜를 YYYYMMDD 형식으로 생성</code></pre><pre><code>today = datetime.today().strftime('%Y%m%d')</code></pre><pre><code># 저장할 디렉토리 생성 (없으면 새로 생성)</code></pre><pre><code>output_dir = "./저장결과"</code></pre><pre><code>os.makedirs(output_dir, exist_ok=True)</code></pre><pre><code># 1. 지점명 + 고객등급 형식으로 저장</code></pre><pre><code>print("\n[1] 지점명_고객등급 형식으로 파일 저장:")</code></pre><pre><code>grouped1 = df.groupby(['지점명', '고객등급'])</code></pre><pre><code>for (branch, grade), group in grouped1:</code></pre><pre><code>    filename = f"{branch}_{grade}.xlsx"</code></pre><pre><code>    filepath = os.path.join(output_dir, filename)</code></pre><pre><code>    group.to_excel(filepath, index=False)</code></pre><pre><code>    print(f"저장 완료 → {filename}")</code></pre><pre><code># 2. 지점명 + 날짜 형식으로 저장 (지점명 기준)</code></pre><pre><code>print("\n[2] 지점명_YYYYMMDD 형식으로 파일 저장:")</code></pre><pre><code>grouped2 = df.groupby('지점명')</code></pre><pre><code>for branch, group in grouped2:</code></pre><pre><code>    filename = f"{branch}_{today}.xlsx"</code></pre><pre><code>    filepath = os.path.join(output_dir, filename)</code></pre><pre><code>    group.to_excel(filepath, index=False)</code></pre><pre><code>    print(f"저장 완료 → {filename}")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 04:53:11 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474808952</guid>
      </item>
      <item>
         <title>4. 시트 분리 저장 (파일 1개에 여러 조건 저장)</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474809681</link>
         <description><![CDATA[<ul><li><p>고객 데이터를 등급별로 나누어 <strong>하나의 엑셀 파일에 시트로 저장</strong>해보세요.<br><em>(ExcelWriter 활용)</em></p></li><li><p>지점별로 나누어 각각 파일을 만들고, 그 안에 고객등급별 시트를 구성해 저장해보세요.<br><em>(파일 → 지점별, 시트 → 등급별)</em></p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>import os</code></pre><pre><code># 엑셀 파일 불러오기</code></pre><pre><code>df = pd.read_excel("고객데이터_시트분리실습용.xlsx")</code></pre><pre><code># 1️⃣ 등급별로 시트를 나누어 하나의 파일에 저장</code></pre><pre><code>with pd.ExcelWriter("등급별_시트저장.xlsx") as writer:</code></pre><pre><code>    for grade, group in df.groupby("고객등급"):</code></pre><pre><code>        group.to_excel(writer, sheet_name=grade, index=False)</code></pre><pre><code>print("✅ 등급별 시트 저장 완료: 등급별_시트저장.xlsx")</code></pre><pre><code># 2️⃣ 지점별로 파일을 만들고, 그 안에 등급별 시트를 저장</code></pre><pre><code>output_dir = "지점별_등급시트저장"</code></pre><pre><code>os.makedirs(output_dir, exist_ok=True)</code></pre><pre><code>for branch, branch_df in df.groupby("지점명"):</code></pre><pre><code>    file_name = f"{output_dir}/{branch}_등급시트.xlsx"</code></pre><pre><code>    with pd.ExcelWriter(file_name) as writer:</code></pre><pre><code>        for grade, group in branch_df.groupby("고객등급"):</code></pre><pre><code>            group.to_excel(writer, sheet_name=grade, index=False)</code></pre><pre><code>    print(f"✅ 저장 완료: {file_name}")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 04:56:23 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474809681</guid>
      </item>
      <item>
         <title>실습 5. 파일 저장 경로 설정 및 정리</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474812730</link>
         <description><![CDATA[<ul><li><p>저장 폴더 경로를 reports/2025/05 형식으로 지정하여 파일을 저장해보세요.</p></li><li><p>조건별로 분할 저장한 파일들을 모두 하나의 폴더에 저장하고,<br>작업 완료 후 zip 파일로 압축해보세요. <em>(선택 과제)</em></p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>import os</code></pre><pre><code>import zipfile</code></pre><pre><code># ✅ 1. 데이터 불러오기</code></pre><pre><code>df = pd.read_excel("고객데이터_예제.xlsx")</code></pre><pre><code># ✅ 2. 가입일을 연-월 기준으로 변환</code></pre><pre><code>df['가입일'] = pd.to_datetime(df['가입일'])</code></pre><pre><code>df['연'] = df['가입일'].dt.year</code></pre><pre><code>df['월'] = df['가입일'].dt.month</code></pre><pre><code># ✅ 3. 연-월별 → 고객등급별 그룹 저장</code></pre><pre><code>base_dir = "reports"</code></pre><pre><code>zip_paths = []</code></pre><pre><code>for (year, month), group_by_date in df.groupby(['연', '월']):</code></pre><pre><code>    folder_path = os.path.join(base_dir, f"{year}/{month:02d}")</code></pre><pre><code>    os.makedirs(folder_path, exist_ok=True)</code></pre><pre><code>    saved_files = []</code></pre><pre><code>    for 등급, group in group_by_date.groupby("고객등급"):</code></pre><pre><code>        filename = f"{등급}_고객리스트.xlsx"</code></pre><pre><code>        file_path = os.path.join(folder_path, filename)</code></pre><pre><code>        group.to_excel(file_path, index=False)</code></pre><pre><code>        saved_files.append(file_path)</code></pre><pre><code>    # ✅ 4. 폴더별 압축 파일 생성 (선택 과제)</code></pre><pre><code>    zip_file = os.path.join(folder_path, "분할저장_리스트.zip")</code></pre><pre><code>    with zipfile.ZipFile(zip_file, 'w') as zipf:</code></pre><pre><code>        for f in saved_files:</code></pre><pre><code>            zipf.write(f, arcname=os.path.basename(f))</code></pre><pre><code>    zip_paths.append(zip_file)</code></pre><pre><code># ✅ 5. 완료 메시지</code></pre><pre><code>print("✅ 월별 등급 파일 저장 및 압축 완료:")</code></pre><pre><code>for path in zip_paths:</code></pre><pre><code>    print("-", path)</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 05:10:17 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474812730</guid>
      </item>
      <item>
         <title>실습 1. 전체 데이터 요약</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474814918</link>
         <description><![CDATA[<ul><li><p>.describe()를 사용해 수치형 컬럼의 요약 통계값(평균, 표준편차, 사분위수 등)을 확인해보세요.</p></li><li><p>거래금액, 연체횟수, 거래건수 등의 컬럼을 선택적으로 요약하고,<br>통계 결과를 엑셀 파일로 저장해보세요.</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code># ✅ 1. 엑셀 파일 불러오기</code></pre><pre><code># 실습용 고객 데이터 파일 경로</code></pre><pre><code>file_path = "실습_요약통계_파일.xlsx"</code></pre><pre><code>df = pd.read_excel(file_path)</code></pre><pre><code># ✅ 2. 전체 수치형 컬럼 요약</code></pre><pre><code># describe() 함수는 평균, 표준편차, 최소값, 4분위수, 최대값 등을 자동 계산</code></pre><pre><code>summary_all = df.describe()</code></pre><pre><code># ✅ 3. 요약 결과를 보기 좋게 출력</code></pre><pre><code>print("📊 전체 수치형 컬럼 요약 통계:")</code></pre><pre><code>print(summary_all)</code></pre><pre><code># ✅ 4. 선택한 컬럼만 요약</code></pre><pre><code># 거래금액, 연체횟수, 거래건수 컬럼에 대해 평균, 표준편차, 최소값, 최대값, 중앙값 계산</code></pre><pre><code>summary_selected = df[['거래금액', '연체횟수', '거래건수']].agg(['mean', 'std', 'min', 'max', 'median'])</code></pre><pre><code># ✅ 5. 결과를 엑셀 파일로 저장</code></pre><pre><code># ExcelWriter를 사용하면 여러 시트를 하나의 파일에 저장할 수 있음</code></pre><pre><code>output_path = "요약통계_결과.xlsx"</code></pre><pre><code>with pd.ExcelWriter(output_path) as writer:</code></pre><pre><code>    summary_all.to_excel(writer, sheet_name='전체통계')</code></pre><pre><code>    summary_selected.to_excel(writer, sheet_name='선택통계')</code></pre><pre><code># ✅ 6. 완료 메시지 출력</code></pre><pre><code>print("요약 통계 결과가 저장되었습니다:", output_path)</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 05:19:31 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474814918</guid>
      </item>
      <item>
         <title>실습 2. 기준별 집계</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474817146</link>
         <description><![CDATA[<ul><li><p>groupby()를 활용해 지점별 평균 거래금액과 평균 연체횟수를 계산해보세요.</p></li><li><p>고객등급, 지점명, 담당자 기준으로 다중 groupby를 적용해<br>거래금액 합계, 고객 수, 연체율 등을 요약해보세요.</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code># ✅ 엑셀 파일 불러오기 (현재 워킹 디렉토리에 있다고 가정)</code></pre><pre><code>df = pd.read_excel("실습_요약통계_파일.xlsx")  # 파일명이 다르면 적절히 수정하세요</code></pre><pre><code># ✅ 1. 지점별 평균 거래금액과 평균 연체횟수 계산</code></pre><pre><code># groupby로 '지점명' 기준 집계, '거래금액'과 '연체횟수' 컬럼에 대해 평균(mean) 계산</code></pre><pre><code>branch_grouped = df.groupby('지점명')[['거래금액', '연체횟수']].mean()</code></pre><pre><code># 결과 출력</code></pre><pre><code>print("✅ [1] 지점별 평균 거래금액과 평균 연체횟수")</code></pre><pre><code>print(branch_grouped)</code></pre><pre><code>print("\n")  # 줄바꿈</code></pre><pre><code># ✅ 2. 고객등급, 지점명, 담당자 기준으로 다중 groupby</code></pre><pre><code># 거래금액의 합계(sum), 고객 수(count), 평균 연체횟수(mean) 집계</code></pre><pre><code>multi_grouped = df.groupby(['고객등급', '지점명', '담당자']).agg({</code></pre><pre><code>    '거래금액': 'sum',        # 거래금액 합계</code></pre><pre><code>    '고객ID': 'count',       # 고객 수</code></pre><pre><code>    '연체횟수': 'mean'       # 평균 연체횟수 = 연체율 대체 지표</code></pre><pre><code>}).rename(columns={'고객ID': '고객수', '연체횟수': '평균연체율'})  # 열 이름 보기 좋게 변경</code></pre><pre><code># ✅ 결과 출력</code></pre><pre><code>print("✅ [1] 지점별 평균 거래금액과 평균 연체횟수")</code></pre><pre><code>print(branch_grouped)</code></pre><pre><code>print("\n✅ [2] 고객등급, 지점명, 담당자 기준 집계 결과")</code></pre><pre><code>print(multi_grouped)</code></pre><pre><code># ✅ 결과를 엑셀 파일로 저장</code></pre><pre><code>output_file = "기준별_집계결과.xlsx"</code></pre><pre><code>with pd.ExcelWriter(output_file) as writer:</code></pre><pre><code>    branch_grouped.to_excel(writer, sheet_name="지점별_평균")</code></pre><pre><code>    multi_grouped.to_excel(writer, sheet_name="다중기준_집계")</code></pre><pre><code>print(f"\n📁 집계 결과가 '{output_file}' 파일로 저장되었습니다.")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 05:27:55 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474817146</guid>
      </item>
      <item>
         <title>실습 2. 기준별 집계 (pivot_table()함수)</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474817220</link>
         <description><![CDATA[<p><br/></p><pre><code>import pandas as pd

# ✅ 엑셀 파일 불러오기
df = pd.read_excel("실습_요약통계_파일.xlsx")  # 파일명이 다르면 적절히 수정하세요

# ✅ 1. 지점별 평균 거래금액과 평균 연체횟수
pivot_branch = pd.pivot_table(
    df,
    index='지점명',
    values=['거래금액', '연체횟수'],
    aggfunc='mean',
    margins=True,  # 전체합(평균) 행 추가
    margins_name='전체평균'  # 기본 이름은 'All'
)

# ✅ 2. 고객등급 + 지점명 + 담당자 기준 피벗
pivot_multi = pd.pivot_table(
    df,
    index=['고객등급', '지점명'],
    columns='담당자',
    values='거래금액',
    aggfunc='sum',
    fill_value=0,
    margins=True,
    margins_name='합계'
)

# ✅ 결과 출력
print("✅ [1] 지점별 평균 피벗 테이블")
print(pivot_branch)
print("\n✅ [2] 고객등급-지점명 기준, 담당자별 거래금액 합계 피벗 테이블")
print(pivot_multi)

# ✅ 엑셀 저장
with pd.ExcelWriter("기준별_피벗테이블_결과.xlsx") as writer:
    pivot_branch.to_excel(writer, sheet_name="지점별_평균")
    pivot_multi.to_excel(writer, sheet_name="다중기준_합계")
print("\n📁 피벗테이블 결과가 '기준별_피벗테이블_결과.xlsx'로 저장되었습니다.")
</code></pre>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 05:28:24 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474817220</guid>
      </item>
      <item>
         <title>실습 3. 특정 지표 계산 (파생 통계)</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474818390</link>
         <description><![CDATA[<ul><li><p>고객등급별 연체율 = 연체고객 수 / 전체 고객 수를 계산해보세요.</p></li><li><p>등급별 연체율을 새로운 DataFrame으로 정리한 뒤,<br>높은 순으로 정렬하고 요약 리포트로 저장해보세요.</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code># 1. 엑셀 파일 불러오기</code></pre><pre><code>df = pd.read_excel('고객등급별_연체율_실습파일.xlsx')  # 같은 폴더에 파일이 있다고 가정</code></pre><pre><code># 2. 고객등급별 연체율 계산</code></pre><pre><code># 전체 고객 수</code></pre><pre><code>total = df.groupby('고객등급').size()</code></pre><pre><code># 연체 고객 수</code></pre><pre><code>delinquent = df[df['연체여부'] == 1].groupby('고객등급').size()</code></pre><pre><code># 연체율 계산 (결측값은 0으로 처리)</code></pre><pre><code>rate = (delinquent / total).fillna(0) * 100  # % 단위</code></pre><pre><code># 3. DataFrame으로 정리</code></pre><pre><code>summary_df = pd.DataFrame({</code></pre><pre><code>    '전체고객수': total,</code></pre><pre><code>    '연체고객수': delinquent.fillna(0).astype(int),</code></pre><pre><code>    '연체율(%)': rate.round(2)</code></pre><pre><code>}).sort_values(by='연체율(%)', ascending=False)</code></pre><pre><code># 4. 결과 출력</code></pre><pre><code>print("📊 고객등급별 연체율 요약:")</code></pre><pre><code>print(summary_df)</code></pre><pre><code># 5. 엑셀로 저장</code></pre><pre><code>summary_df.to_excel('고객등급별_연체율_요약리포트.xlsx')</code></pre><pre><code>print("\n✅ '고객등급별_연체율_요약리포트.xlsx' 파일로 저장 완료!")</code></pre><p><br/></p><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 05:33:26 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474818390</guid>
      </item>
      <item>
         <title>실습 4. 추이 분석용 시각화</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474819514</link>
         <description><![CDATA[<ul><li><p>월별 신규 고객 수 추이를 seaborn.barplot() 또는 lineplot()으로 시각화해보세요.</p></li><li><p>연체율의 월별 변화를 선형 그래프로 시각화하고,<br>최고/최저 구간에 색상 강조나 주석을 추가해보세요.</p></li></ul><p><br/></p><pre><code># 필요한 라이브러리 불러오기</code></pre><pre><code>import pandas as pd</code></pre><pre><code>import numpy as np</code></pre><pre><code>from datetime import datetime</code></pre><pre><code>import random</code></pre><pre><code>import matplotlib.pyplot as plt</code></pre><pre><code>import seaborn as sns</code></pre><pre><code># 시각화 한글 깨짐 방지 설정 (윈도우 기준)</code></pre><pre><code>plt.rcParams['font.family'] = 'Malgun Gothic'  # '맑은 고딕'</code></pre><pre><code>plt.rcParams['axes.unicode_minus'] = False     # 마이너스 기호 깨짐 방지</code></pre><pre><code># 시드 고정 (재현 가능성 확보)</code></pre><pre><code>random.seed(42)</code></pre><pre><code>np.random.seed(42)</code></pre><pre><code># ✅ 1. 가상의 고객 데이터 생성</code></pre><pre><code>num_records = 1000</code></pre><pre><code>date_range = pd.date_range(start="2023-01-01", end="2025-05-31", freq='D')</code></pre><pre><code>data = {</code></pre><pre><code>    '고객ID': [f'C{1000+i}' for i in range(num_records)],</code></pre><pre><code>    '가입일': np.random.choice(date_range, num_records),</code></pre><pre><code>    '고객등급': np.random.choice(['A', 'B', 'C', 'VIP'], num_records, p=[0.3, 0.3, 0.3, 0.1]),</code></pre><pre><code>    '연체횟수': np.random.poisson(lam=0.8, size=num_records),</code></pre><pre><code>    '거래금액': np.random.gamma(shape=2, scale=500000, size=num_records).astype(int)</code></pre><pre><code>}</code></pre><pre><code>df = pd.DataFrame(data)</code></pre><pre><code># ✅ 2. 가입 월 파생 열 생성</code></pre><pre><code>df['가입월'] = df['가입일'].dt.to_period('M').astype(str)</code></pre><pre><code># ✅ 3. 월별 신규 고객 수 계산</code></pre><pre><code>monthly_new = df.groupby('가입월').size().reset_index(name='신규고객수')</code></pre><pre><code>print("\n[월별 신규 고객 수]")</code></pre><pre><code>print(monthly_new.head())</code></pre><pre><code># ✅ 4. 월별 연체율 계산</code></pre><pre><code>df['연체여부'] = df['연체횟수'] &gt; 0</code></pre><pre><code>monthly_delay = df.groupby('가입월').agg(</code></pre><pre><code>    총고객수=('고객ID', 'count'),</code></pre><pre><code>    연체고객수=('연체여부', 'sum')</code></pre><pre><code>).reset_index()</code></pre><pre><code>monthly_delay['연체율'] = (monthly_delay['연체고객수'] / monthly_delay['총고객수']) * 100</code></pre><pre><code>print("\n[월별 연체율]")</code></pre><pre><code>print(monthly_delay.head())</code></pre><pre><code># ✅ 5. 시각화: 월별 신규 고객 수</code></pre><pre><code>plt.figure(figsize=(12, 5))</code></pre><pre><code>sns.barplot(x='가입월', y='신규고객수', data=monthly_new, color='skyblue')</code></pre><pre><code>plt.title('월별 신규 고객 수')</code></pre><pre><code>plt.xticks(rotation=45)</code></pre><pre><code>plt.tight_layout()</code></pre><pre><code>plt.savefig('월별_신규고객수_추이.png')  # 이미지 저장</code></pre><pre><code>plt.show()  # 바로 화면에 출력</code></pre><pre><code># ✅ 6. 시각화: 월별 연체율 변화 (선형 그래프 + 최고/최저 강조)</code></pre><pre><code>plt.figure(figsize=(12, 5))</code></pre><pre><code>sns.lineplot(x='가입월', y='연체율', data=monthly_delay, marker='o')</code></pre><pre><code>plt.title('월별 연체율 변화')</code></pre><pre><code>plt.xticks(rotation=45)</code></pre><pre><code># 최고/최저값 위치 찾기</code></pre><pre><code>max_idx = monthly_delay['연체율'].idxmax()</code></pre><pre><code>min_idx = monthly_delay['연체율'].idxmin()</code></pre><pre><code># 최고값 강조</code></pre><pre><code>plt.annotate('최고 연체율',</code></pre><pre><code>             xy=(max_idx, monthly_delay['연체율'][max_idx]),</code></pre><pre><code>             xytext=(max_idx, monthly_delay['연체율'][max_idx] + 3),</code></pre><pre><code>             arrowprops=dict(facecolor='red', shrink=0.05))</code></pre><pre><code># 최저값 강조</code></pre><pre><code>plt.annotate('최저 연체율',</code></pre><pre><code>             xy=(min_idx, monthly_delay['연체율'][min_idx]),</code></pre><pre><code>             xytext=(min_idx, monthly_delay['연체율'][min_idx] + 3),</code></pre><pre><code>             arrowprops=dict(facecolor='green', shrink=0.05))</code></pre><pre><code>plt.tight_layout()</code></pre><pre><code>plt.savefig('월별_연체율_추이.png')  # 이미지 저장</code></pre><pre><code>plt.show()  # 바로 화면에 출력</code></pre><pre><code># ✅ 7. 엑셀 파일 저장</code></pre><pre><code>df.to_excel('추이분석_실습데이터.xlsx', index=False)</code></pre><pre><code>print("\n✅ 데이터와 시각화 결과가 모두 저장되었습니다.")</code></pre><p><br/></p><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 05:38:14 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474819514</guid>
      </item>
      <item>
         <title>실습 5. 등급/지점별 비교 시각화</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474820718</link>
         <description><![CDATA[<ul><li><p>등급별 거래금액 분포를 박스플롯으로 그려보세요.</p></li><li><p>지점별 평균 거래금액을 막대그래프로 시각화하고,<br>matplotlib으로 제목, 축, 저장 설정을 커스터마이징해보세요.</p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>import matplotlib.pyplot as plt</code></pre><pre><code>import seaborn as sns</code></pre><pre><code># ✅ 1. 엑셀 파일에서 데이터 불러오기</code></pre><pre><code>df = pd.read_excel("고객거래데이터_등급_지점별비교실습.xlsx")</code></pre><pre><code># 데이터 미리보기</code></pre><pre><code>print("데이터 미리보기:")</code></pre><pre><code>print(df.head())</code></pre><pre><code># ✅ 2. 등급별 거래금액 분포 박스플롯</code></pre><pre><code>plt.figure(figsize=(8, 6))</code></pre><pre><code># ⚠️ hue를 명시하지 않으면 palette 사용 시 FutureWarning 발생함 (Seaborn 0.14부터)</code></pre><pre><code># → hue='고객등급'으로 색상 기준을 명시하고, legend=False로 범례는 표시 안함</code></pre><pre><code>sns.boxplot(</code></pre><pre><code>    x='고객등급',</code></pre><pre><code>    y='거래금액',</code></pre><pre><code>    data=df,</code></pre><pre><code>    hue='고객등급',         # 색상을 등급별로 다르게</code></pre><pre><code>    palette='pastel',       # 색상 스타일</code></pre><pre><code>    dodge=False             # 같은 값이므로 분리 표시 안함</code></pre><pre><code>)</code></pre><pre><code>plt.title('등급별 거래금액 분포', fontsize=14)</code></pre><pre><code>plt.xlabel('고객등급')</code></pre><pre><code>plt.ylabel('거래금액')</code></pre><pre><code>plt.grid(axis='y', linestyle='--', alpha=0.7)</code></pre><pre><code># 범례 제거 (hue 때문에 생긴 것 숨기기)</code></pre><pre><code>plt.legend([], [], frameon=False)</code></pre><pre><code>plt.tight_layout()</code></pre><pre><code>plt.savefig("등급별_거래금액_박스플롯.png")</code></pre><pre><code>plt.show()</code></pre><pre><code># ✅ 3. 지점별 평균 거래금액 막대그래프</code></pre><pre><code>branch_avg = df.groupby('지점명')['거래금액'].mean().sort_values()</code></pre><pre><code># 평균값 확인용 출력</code></pre><pre><code>print("\n지점별 평균 거래금액:")</code></pre><pre><code>print(branch_avg)</code></pre><pre><code>plt.figure(figsize=(8, 6))</code></pre><pre><code>bars = plt.bar(branch_avg.index, branch_avg.values, color='orange')  # color 직접 지정</code></pre><pre><code>plt.title('지점별 평균 거래금액', fontsize=14)</code></pre><pre><code>plt.xlabel('지점명')</code></pre><pre><code>plt.ylabel('평균 거래금액')</code></pre><pre><code>plt.xticks(rotation=45)</code></pre><pre><code>plt.grid(axis='y', linestyle='--', alpha=0.7)</code></pre><pre><code># 막대 위에 수치 라벨 표시</code></pre><pre><code>for bar in bars:</code></pre><pre><code>    yval = bar.get_height()</code></pre><pre><code>    plt.text(bar.get_x() + bar.get_width()/2.0, yval, f'{yval:,.0f}', ha='center', va='bottom', fontsize=9)</code></pre><pre><code>plt.tight_layout()</code></pre><pre><code>plt.savefig("지점별_평균거래금액_막대그래프.png")</code></pre><pre><code>plt.show()</code></pre><pre><code></code></pre>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 05:43:29 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474820718</guid>
      </item>
      <item>
         <title>실습 6. 결과 저장 및 보고서 활용</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474821781</link>
         <description><![CDATA[<ul><li><p>요약된 통계 결과나 그래프를 .png 이미지 또는 .xlsx로 저장해보세요.</p></li><li><p>한 엑셀 파일에 요약 테이블 + 통계 그래프 시트를 함께 구성해 저장해보세요.<br><em>(예: summary.xlsx 파일에 '통계', '그래프' 시트 분리 저장)</em></p></li></ul><p><br/></p><pre><code>import pandas as pd</code></pre><pre><code>import matplotlib.pyplot as plt</code></pre><pre><code>from openpyxl import Workbook</code></pre><pre><code>from openpyxl.drawing.image import Image as XLImage</code></pre><pre><code>from openpyxl.utils.dataframe import dataframe_to_rows</code></pre><pre><code># 1. 엑셀 파일 불러오기</code></pre><pre><code>df = pd.read_excel('고객데이터_RAW_예제.xlsx')</code></pre><pre><code># 2. 수치형 컬럼 요약 통계 계산</code></pre><pre><code>summary = df[['거래금액', '연체횟수']].describe()</code></pre><pre><code># 3. 거래금액 분포 그래프 저장</code></pre><pre><code>plt.figure(figsize=(6, 4))</code></pre><pre><code>plt.hist(df['거래금액'], bins=20, color='skyblue', edgecolor='black')</code></pre><pre><code>plt.title('거래금액 분포')</code></pre><pre><code>plt.xlabel('거래금액')</code></pre><pre><code>plt.ylabel('빈도수')</code></pre><pre><code>plt.tight_layout()</code></pre><pre><code>plt.savefig('거래금액_분포.png')</code></pre><pre><code>plt.close()</code></pre><pre><code># 4. 엑셀 파일로 저장 (통계 + 그래프 시트 포함)</code></pre><pre><code>wb = Workbook()</code></pre><pre><code>ws1 = wb.active</code></pre><pre><code>ws1.title = "통계"</code></pre><pre><code># 요약 통계 입력</code></pre><pre><code>for row in dataframe_to_rows(summary, index=True, header=True):</code></pre><pre><code>    ws1.append(row)</code></pre><pre><code># 그래프 시트 추가</code></pre><pre><code>ws2 = wb.create_sheet(title="그래프")</code></pre><pre><code>img = XLImage('거래금액_분포.png')</code></pre><pre><code>img.anchor = 'A1'</code></pre><pre><code>ws2.add_image(img)</code></pre><pre><code># 최종 저장</code></pre><pre><code>wb.save("summary_report.xlsx")</code></pre><p><br/></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 05:48:16 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474821781</guid>
      </item>
      <item>
         <title>실습 파일</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474851834</link>
         <description><![CDATA[<p><a rel="noopener noreferrer nofollow" href="https://drive.google.com/drive/folders/1EDcZrpNz7GyPqWgrEz1vNyf8bmmTZt9g?usp=drive_link">https://drive.google.com/drive/folders/1EDcZrpNz7GyPqWgrEz1vNyf8bmmTZt9g?usp=drive_link</a></p><p><br/></p><p><a rel="noopener noreferrer nofollow" href="https://bit.ly/43GGvSW">https://bit.ly/43GGvSW</a></p>]]></description>
         <enclosure url="https://drive.google.com/drive/folders/1EDcZrpNz7GyPqWgrEz1vNyf8bmmTZt9g?usp=drive_link" />
         <pubDate>2025-06-01 07:43:40 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3474851834</guid>
      </item>
      <item>
         <title>📄 반복 업무 예시 (금융권)</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475040397</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/cb34bd2409c89213fea6725dcd1c1eae/image.png" />
         <pubDate>2025-06-01 15:24:34 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475040397</guid>
      </item>
      <item>
         <title>자동화 가능성 평가 기준 (각 항목 0~1점)</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475043893</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/80889d76df92a281f1ea1f645618e384/image.png" />
         <pubDate>2025-06-01 15:32:05 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475043893</guid>
      </item>
      <item>
         <title>항목별 정량 평가표</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475044250</link>
         <description><![CDATA[<p>해설 요약</p><p>4.0점 (①, ⑦): 완전 자동화 적합 업무 — 조건 명확, 반복적, 판단 불필요</p><p>3.5점 (③, ⑥): 매우 높은 자동화성 — 데이터 병합이나 메일 전송 포함 업무</p><p>2.5점 이하: 수작업 해석·포맷 조정 등 사람 개입이 필요한 단계 존재</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/17b3d830dc1134bc2b333e123eafee5f/image.png" />
         <pubDate>2025-06-01 15:32:56 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475044250</guid>
      </item>
      <item>
         <title>일일 고위험 거래 고객 필터링 및 저장  완전 자동화를 막을 수 있는 예외 사항</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475044671</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/78e86e5bf228c4271a8ede2535a5db3a/image.png" />
         <pubDate>2025-06-01 15:33:58 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475044671</guid>
      </item>
      <item>
         <title>자동화 가능성 재평가</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475045290</link>
         <description><![CDATA[<p><strong>결론</strong></p><ul><li><p>완전 자동화는 이론상 가능해 보여도, 실무에서는 예외 관리 여부가 핵심입니다.</p></li><li><p>즉, 완전 자동화가 아닌 '협업형 자동화 + 판단 구조화'가 실무에서 지속 가능한 해답입니다.</p></li></ul>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/11c5de73ddd66251a5461d8cd70b2731/image.png" />
         <pubDate>2025-06-01 15:35:26 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475045290</guid>
      </item>
      <item>
         <title>마무리 정리: 왜 우리는 파이썬으로 자동화를 배웠을까?</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475045623</link>
         <description><![CDATA[<p><strong>파이썬은 엑셀보다 더 강력한 자동화 도구입니다.</strong></p><ul><li><p>Power Query / Power BI의 핵심 기능들을 대부분 대체할 수 있습니다.</p></li><li><p>반복 작업, 조건별 저장, 다중 집계, 시각화 등에서 더 유연합니다.</p></li><li><p>특히 <strong>복잡한 조건 처리</strong>에 매우 강합니다.<br>→ 조건 조합, 함수화, 고급 필터링 등 실무에 최적화</p></li></ul><p>&nbsp;</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 15:36:23 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475045623</guid>
      </item>
      <item>
         <title>파이썬 vs Power Query / Power BI 기능 비교 요약</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475045914</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/82ca40ebcabab3d05bace26f279ccd97/image.png" />
         <pubDate>2025-06-01 15:37:08 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475045914</guid>
      </item>
      <item>
         <title>파이썬이 더 편리한 대표 상황</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475046303</link>
         <description><![CDATA[<ol><li><p><strong>복잡한 조건을 한 줄로 작성하고 쉽게 수정하고 싶을 때</strong></p></li><li><p><strong>다수 파일 자동 처리, 반복 병합·필터·저장 작업이 있을 때</strong></p></li><li><p><strong>조건이 자주 바뀌는 보고서를 자동으로 재생성해야 할 때</strong></p></li><li><p><strong>여러 조건을 조합하여 고급 필터링 및 집계가 필요할 때</strong></p></li><li><p><strong>고객 맞춤형 조건별 엑셀 파일을 자동으로 저장해야 할 때</strong></p></li><li><p><strong>정형적이지 않은 텍스트, 날짜 등 다양한 포맷이 혼재할 때</strong></p></li><li><p><strong>Power Query나 BI로는 한계가 있는 복잡한 흐름을 코드로 표현하고 싶을 때</strong></p></li></ol>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 15:37:38 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475046303</guid>
      </item>
      <item>
         <title>파이썬은 AI와 함께할 때 진짜 빛납니다.</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475046462</link>
         <description><![CDATA[<ul><li><p>자연어로 설명만 해도 ChatGPT가 코드를 생성해줍니다.</p></li><li><p>반복 업무, 자동 저장, 시각화, 조건별 분기 등을 모두 자동화할 수 있습니다.</p></li><li><p>조건 변경, 예외 처리도 <strong>말로 설명하면 코드가 바뀝니다.</strong></p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 15:38:03 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475046462</guid>
      </item>
      <item>
         <title>하지만, 판단할 수 있어야 제대로 쓸 수 있습니다.</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475046614</link>
         <description><![CDATA[<ul><li><p>어떤 조건으로 필터링할지, 어떤 방식으로 집계할지<br>→ 이건 <strong>사람의 판단</strong>이 필요한 영역입니다.</p></li><li><p>내가 원하는 것을 설명할 수 있어야 AI가 제대로 도와줍니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 15:38:26 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475046614</guid>
      </item>
      <item>
         <title>그래서 우리는 완전 자동화보다 ‘협업 구조’를 설계해야 합니다.</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475046816</link>
         <description><![CDATA[<ul><li><p>실무에는 예외가 존재하고, 맥락이 있습니다.</p></li><li><p>자동화는 반복을 처리하고, <strong>판단은 내가 하는 구조</strong>가 필요합니다.</p></li><li><p>결국 <strong>AI와 함께 일하는 방식</strong>을 설계하는 것이 목표입니다.</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-01 15:38:48 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475046816</guid>
      </item>
      <item>
         <title>더 나은 요청 방식: 요구 조건 + 데이터 구조 명시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475581476</link>
         <description><![CDATA[<p><strong>엑셀 파일: 연체정보.xlsx, 거래정보.xlsx</strong><br>열 구조는 다음과 같습니다:</p><p>연체정보: 고객ID, 연체여부, 연체일자</p><p>거래정보: 고객ID, 거래금액, 거래일자</p><p>이 두 파일을 사용해서,</p><p>① 고객별 연체횟수를 계산 (연체여부 기준)<br>② 고객별 거래금액 합계는 거래금액의 절대값으로 계산<br>③ 고객ID를 기준으로 병합하고<br>④ 연체횟수 ≥ 2 &amp; 거래금액 &gt; 500000 조건의 고객을 추출한 뒤<br>⑤ 거래금액 기준 상위 5명의 정보를 보여줘.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-02 03:29:46 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475581476</guid>
      </item>
      <item>
         <title> 좋은 요청의 3요소 (실무 적용 팁)</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475583312</link>
         <description><![CDATA[<p>다음과 같은 열 구조를 가진 두 파일이 있습니다:</p><ul><li><p>거래정보.xlsx: 고객ID, 거래금액, 거래일자</p></li><li><p>연체정보.xlsx: 고객ID, 연체여부, 연체일자</p></li></ul><p>이걸 바탕으로 고객ID별 연체횟수와 거래금액 합계를 계산해 병합하고,<br>연체횟수 ≥ 2 &amp; 거래금액 &gt; 500000 인 고객을 추출해<br>상위 5명 정보를 보여주는 코드를 만들어주세요.</p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/cd8a436ef904a9c5b94a877fde410d38/image.png" />
         <pubDate>2025-06-02 03:31:07 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475583312</guid>
      </item>
      <item>
         <title>프롬프트 예시</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475630100</link>
         <description><![CDATA[<p>엑셀 파일: 지점별_상품별_일별매출.csv, 환율.csv 열 구조는 다음과 같습니다: 지점별_상품별_일별매출: 지점, 날짜, 상품, 원화금액 환율: no, 1~100까지 100개 필드 환율에서 no는 필요없는 열이니 제거해주고 그리고 환율.csv 테이블의 1,2,3, ...,100은 국가번호야. 환율테이블의 1번 열의 값이 환율이 되는거지. 지점별_상품별_일별매출의 원화금액에 각 국가의 환율을 곱해서 국가수만큼 필드를 추가해서 계산해줘. 그리고 그 결과를 새로운 파일로 저장하는 코드를 제시해줘</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-02 04:15:23 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475630100</guid>
      </item>
      <item>
         <title>프롬프트 (히스토그램_멀티미니차트)</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475668362</link>
         <description><![CDATA[<p>지점별_상품별_일별매출.csv 파일</p><p>필드구조: 지점, 날짜, 상품, 원화금액</p><p><br/></p><p>이 데이터에서 상품별 원화금액의 분포를 히스토그램으로 시각화하고자 해. </p><p>원화금액을 50000원단위로 범주화해서 작업해줘. </p><p>그리고 상품별 히스토그램을 열개 10로 분할해서 멀티 미니 차트 형태로 시각화하는 코드를 제시해줘</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-02 04:46:51 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475668362</guid>
      </item>
      <item>
         <title>CSV 변경 및 저장 프롬프트</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475703511</link>
         <description><![CDATA[<p>지점실적데이터 폴더에 들어있는 지점별 엑셀 파일 100개를 같은 이름의 csv 파일로 변경시키고 지점실적데이터1 폴더에 저장하는 코드를 제시해줘. </p><p>그리고 저장했다는 메시지를 프린트하는 부분도 추가해줘. </p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-02 05:09:51 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475703511</guid>
      </item>
      <item>
         <title>실습1 프롬프트</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475726697</link>
         <description><![CDATA[<p>파일명: 고객데이터_실습용.xlsx</p><p>필드구조: 고객ID, 이름, 성별, 나이,  등급, 거래금액 </p><p><br/></p><p>1. 이 파일에서 VIP 고객 리스트 추출해서 거래금액 기준 상위 5명 내용을 보여줘</p><p>2. 등급별 평균 거래금액을 계산해서 등급, 평균거래금액 필드로 테이블을 만들고 파일로 저장해줘.</p><p>3. 그 내용을 보여줘.</p><p><br/></p><p>이 작업을 수행하는 코드를 제시해줘</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-02 05:25:01 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475726697</guid>
      </item>
      <item>
         <title>branch 지점 파일 병합 프롬프트1</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475743700</link>
         <description><![CDATA[<p>branch 폴더 밑의 3개 파일: 강남지점.xlsx,  부산역지점.xlsx, 종로지점.xlsx </p><p>을 불러와서 각 파일의 필드명을 모두 추출해줘. </p><p>이 작업을 수행하는 코드 제시해줘. </p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-02 05:38:23 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475743700</guid>
      </item>
      <item>
         <title>branch 지점 파일 병합2</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475752009</link>
         <description><![CDATA[<p>1. 지금 파일들을 기준으로 3개의 파일을 읽어서</p><p>필드명을 통일하자. </p><p>2. 네가 제안한 것 처럼 고객명, 고객등급, 거래금액 으로 필드명을 통일해주고</p><p>3. 파일명에 있는 지점명을 별도 지점명 필드를 만들고 그 값으로 추가해서 </p><p>4. 3개 지점 파일을 하나의 파일로 통합해줘. </p><p>5. 그리고 VIP 등급을 제외해줘. </p><p><br/></p><p>이 작업을 코드로 제시해줘</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-02 05:44:33 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475752009</guid>
      </item>
      <item>
         <title>요약 보고서 작성 프롬프트</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475808727</link>
         <description><![CDATA[<p>원본 데이터 파일: 실습용_고객데이터.xlsx</p><p>필드구조: 고객명, 	등급,	거래금액 </p><p><br/></p><p>1. 위의 데이터를 읽어서 등급별 고객수, 평균 거래금액, 거래금액 합계, 인원수 기준 전체 대비 비율을 계산하고</p><p>2. 요약 시트 생성해서 "2025년 6월 고객 등급별 보고서"를 제목으로 하고</p><p> 별도 행으로 전체 고객수를 보여주고 </p><p>  등급별 고객수, 평균 거래금액, 거래금액, 합계, 비율(인원수 기준)을 표로 작성</p><p>3. 등급별 시트를 생성해서 고객, 등급, 거래금액 합계를 표시</p><p>그리고 이 시트에서 거래금액 상위 5명까지는 bold체로 표시</p><p><br/></p><p>그리고 이 전체 결과를 "고객등급별_보고서_완성본1.xlsx"로 저장하는</p><p><br/></p><p>코드 제시해줘</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-02 06:25:53 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475808727</guid>
      </item>
      <item>
         <title>프롬프트 예시: </title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475844809</link>
         <description><![CDATA[<p>원본 파일(워킹디렉토리): 고객데이터_정렬및파생열실습용.xlsx 필드 구조: 고객ID, 고객명, 등급, 거래금액, 가입일 1. 등급 기준으로 A&gt;B&gt;C 순으로 정렬, 그 다음 거래금액 기준 내림차순 정렬하고 (등급 우선 정렬) 2. 거래금액 &gt;= 1000000 이면 "고액 고객" 아니면 "일반 고객" 분류 3. 오늘 기준(2025-6-2) 가입일로부터 경과월수 계산 이 작업을 한 결과 통합 테이블을 만들고 상위 5개 고객 정보를 보여주는 코드를 제시해줘.</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-06-02 06:55:19 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475844809</guid>
      </item>
      <item>
         <title>자동화 평가 프롬프트</title>
         <author>zau0hon2</author>
         <link>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475903125</link>
         <description><![CDATA[<p>내가 정기적으로 하고 내 업무에 차지하는 비중이 높은 일로 "일일 고위험 거래 고객 필터링 및 저장"이 있어. 이에 대해 자동화 가능성을 첨부한 기준표에 의 거해서 평가해줘. </p>]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/672452514/d32ed99181d8b35bb758587f99d1d039/image.png" />
         <pubDate>2025-06-02 07:43:28 UTC</pubDate>
         <guid>https://padlet.com/barefootlab/3yqwd4o2zywyxuyj/wish/3475903125</guid>
      </item>
   </channel>
</rss>
