>백엔드 개발 >파이썬 튜토리얼 >Jupyter Notebook은 스프레드시트와 같습니다. 둘 다 배우십시오.

Jupyter Notebook은 스프레드시트와 같습니다. 둘 다 배우십시오.

DDD
DDD원래의
2024-12-15 21:55:15230검색

Jupyter Notebooks Are Like Spreadsheets. Learn Both.

스프레드시트는 '비즈니스 소프트웨어의 암흑 물질'입니다. 스프레드시트는 어디에나 있고 눈에 띄지 않으며 모든 것을 하나로 묶어줍니다. 비즈니스 및 재무는 스프레드시트에서 실행됩니다. 다른 어떤 소프트웨어 도구도 이렇게 많은 사람들이 다양한 문제에 대한 솔루션을 구축할 수 있도록 지원하지 않습니다. 이러한 맥락에서 "Jupyter는 새로운 Excel입니다"라는 주장은 의도적으로 선정적이라는 것을 이해해야 합니다.

그러나 Jupyter 노트북은 Excel 스프레드시트와 몇 가지 주요 유사점을 공유합니다. 스프레드시트가 비즈니스 운영 및 프론트 오피스 재무를 지배하는 것과 마찬가지로 노트북은 과학 및 통계 컴퓨팅 분야 어디에나 존재합니다. 이 게시물에서는 두 도구 사이에 왜 그토록 열정적인 팬과 비평가가 있는지 설명하기 위해 두 도구의 철학적, 실제적 유사점과 차이점을 살펴보겠습니다.

유사점: 긍정적인 점

  • 표면상으로는 Jupyter 노트북과 Excel 스프레드시트 모두 분석을 개별 단계로 나누기 위한 시각적 비유로 '셀'을 사용합니다. 두 형식 모두의 셀에는 코드가 포함되어 있으며 결과가 표시됩니다.
  • 둘 모두 계산과 데이터 시각화를 결합하여 대화형, 반복적, 탐색적 분석을 위해 설계되었습니다.
  • 두 가지 모두 초보자를 위한 얕은 학습 곡선을 목표로 합니다.
  • 두 가지 모두 독립적이고 쉽게 공유할 수 있도록 설계되었습니다. Google Colab 및 JupyterHub와 같은 온라인 환경은 종종 복잡한 Python 설정 프로세스를 추상화합니다.
  • 두 사람 모두 각자의 분야에서 고등 교육을 전공하고 있습니다. 경영대학원은 거의 보편적으로 Excel을 사용한 재무 모델링을 가르치고, STEM 학과에서는 일반적으로 Jupyter Notebook1을 사용한 데이터 분석을 가르칩니다. 새로 졸업한 사람들은 이러한 도구에 익숙해져 직장에 출근합니다.

유사점: 부정적인 점

Excel 스프레드시트와 Jupyter 노트북 모두 소프트웨어 엔지니어들로부터 "진짜 소프트웨어"가 아니라는 비판을 받고 있습니다. 두 아티팩트 모두 실행하려면 다른 프로그램이 필요하다는 명백한 제한 외에도 소프트웨어 엔지니어링 모범 사례를 준수하기 어렵게 만듭니다.

  • 대규모 단일 파일이므로 git과 같은 개발자 도구를 사용하여 버전 관리가 어렵습니다. Office OpenXML 문서는 압축되어 파일 내용을 "스크램블"하므로 git이 기본 데이터의 변경 사항을 추적할 수 없습니다. Jupyter 노트북은 실제로는 큰 JSON 파일이지만 셀 출력 및 실행 횟수 변경으로 인해 불필요한 델타가 발생합니다2.
  • Excel 스프레드시트와 Jupyter 노트북은 모두 생산화하기 어렵습니다. 하지만 두 도구 모두 실제로 생산에 사용됩니다. Excel과 Jupyter는 자체 종속성을 도입하고 독립 실행형 스크립트를 작성하는 데 익숙한 엔지니어에게는 낭비처럼 보이는 과도한 실행 환경입니다.
  • 둘 다 오류가 발생하기 쉽고 테스트하기 어렵습니다. 두 플랫폼 모두 코드 작성 경험이 적은 사용자를 대상으로 한다는 사실은 버그로 가득 찬 솔루션을 만드는 것으로 명성을 얻었습니다. 실제로는 단위 테스트와 같은 도구나 품질 관리 문화가 없으면 스프레드시트와 노트북의 버그가 프로덕션에 적용될 가능성이 더 높습니다.

차이점

  • Excel을 사용하면 프로그래머가 아닌 사람도 셀 간 데이터 흐름 방식을 더 쉽게 이해할 수 있습니다.
    • Excel의 그리드는 셀 좌표를 통해 데이터를 참조하는 자연스러운 방법을 제공하는 반면, Jupyter는 명명된 변수에 의존하므로 사용자는 변수 명명이 어렵다는 현실에 직면하게 됩니다.
    • 셀이 바로 앞에 있으므로 Excel에서는 다단계 계산의 중간 결과를 검사하기가 더 쉽습니다. Jupyter 노트북의 인쇄 문을 설정하고 실행하려면 더 많은 노력이 필요합니다.
  • Excel은 독립적입니다. Jupyter의 가치는 Python의 패키지 생태계에 있습니다.
    • Python은 외부 라이브러리에 의존하므로 IT 부서에서 Jupyter 사용을 더 쉽게 제한할 수 있습니다.
    • Jupyter를 로컬에 설치하고 네트워크를 통해 노트북을 실행하려면 Excel을 여는 것보다 더 많은 설정이 필요합니다.
    • 대부분의 Excel 스프레드시트는 Excel과 함께 제공되는 기능만 사용합니다. 즉, 비즈니스 담당자가 모델을 열고 수정하고 실행하기만 하면 됩니다. 노트북은 특정 Python 환경에 너무 묶여 있고 Python 환경 설정이 어렵기 때문에 조직 외부는 물론 조직 내에서도 공유하기 어렵습니다.
  • Excel은 여러 시트에 걸쳐 표 형식의 데이터를 저장하고 피벗 테이블을 통해 OLAP과 유사한 기능을 제공하는 '가난한 사람의 데이터베이스' 역할을 할 수 있습니다. Jupyter 노트북은 일반적으로 API 또는 공유 파일 위치에서 데이터를 로드하는데, 이는 자체 포함되지 않는 또 다른 이유입니다.
  • Jupyter보다 Excel에서 "숫자 조작"이 더 쉽습니다. 스프레드시트는 코드를 다시 실행하거나 대화형 위젯을 설정할 필요 없이 실시간으로 업데이트됩니다. 일회성 변경은 더 쉽게 수행할 수 있으며 이는 속도가 핵심일 때 중요합니다.
  • Jupyter에서는 코드 작업이 불가피하지만 Excel은 GUI를 통해 전적으로 사용할 수 있습니다. 셀 수식에서 함수를 선택하는 메뉴도 있습니다.
    • Jupyter는 더욱 개방적이고 유연하지만 효과적으로 사용하려면 더 많은 기술적 지식이 필요합니다.
  • Jupyter는 Excel보다 내러티브와 스토리텔링에 더 중점을 두고 있습니다.
    • Jupyter 노트북은 코드와 산문이 삽입되어 서술적인 흐름을 만드는 읽기 쉬운 프로그래밍을 위해 설계되었습니다.
    • Excel의 보고 및 프리젠테이션은 일반적으로 복사/붙여넣기 또는 PowerPoint와의 통합을 사용합니다.

의미

Python을 Excel에 통합하려는 Microsoft의 노력은 과학 및 기술 컴퓨팅 분야에서 Jupyter의 지배력을 크게 약화시키지 않을 것입니다. 스프레드시트에는 자연스러운 서술 구조가 부족하여 교육 및 재현 가능한 연구에 적합하지 않습니다. 더욱이, "개방형 과학" 커뮤니티는 미국 거대 기술 기업이 구축한 비공개 소스 도구를 결코 채택하지 않을 것입니다.

스프레드시트와 마찬가지로 Jupyter 노트북3의 운영상 단점을 완화하기 위한 도구와 '모범 사례'가 등장할 것입니다. 대부분의 프론트 오피스 사용자는 이러한 지침4을 무시하여 IT 부서와의 지속적인 긴장을 불러일으킵니다. Excel의 결과를 목격한 많은 IT 부서에서는 Jupyter 지원이 보안 취약점과 유지 관리 문제가 담긴 판도라의 상자를 여는 것과 같다고 생각합니다.

두 플랫폼 모두 가까운 미래에도 살아남을 것입니다. 근본적으로 다른 기술 세트를 가진 사용자 기반을 대상으로 하기 때문에 어느 쪽도 다른 쪽을 대체하지 않습니다. 정량적 모델링과 비즈니스 의사결정의 교차점에서 일하는 사람들은 계속해서 두 도구에 대해 잘 알고 있어야 합니다.

결론

문제를 해결하는 조직의 문화에 가장 적합한 도구를 사용하세요. 기술적인 요구 사항으로 인해 다른 도구보다 한 도구를 사용해야 하는 상황이 있습니다. 하나의 도구 또는 다른 도구만 사용하도록 허용하는 조직입니다. Excel이 많이 사용되는 분야에서 작업하고 Python의 기능이 꼭 필요한 경우 제 경험상 Excel 사용자가 Jupyter 노트북을 열도록 하는 것보다 Python 코드에서 Excel 스프레드시트를 읽고 쓰는 것이 더 쉽습니다.

전 세계의 소프트웨어 엔지니어와 IT 부서는 수십 년 동안 스프레드시트에 대해 그랬던 것처럼 계속해서 Jupyter 노트북을 무시할 것입니다. MBA 유형은 Jupyter 노트북을 사용하지 않는다는 사실로 인해 IT가 사용에 대한 엄격한 제한을 더 쉽게 적용할 수 있습니다. 아이러니하게도 많은 프런트 오피스 사용자는 Microsoft가 Python을 Excel에 통합한 후에만 Python에 액세스할 수 있습니다.


  1. 일부 홀드아웃은 여전히 ​​MATLAB, R, SPSS 또는 SAS를 사용하지만, 높은 라이센스 비용으로 인해 시간이 지남에 따라 사용자는 계속해서 무료 오픈 소스 대안을 선택하게 될 것입니다. 교육 시장을 포착하는 것은 MathWorks와 같은 회사의 비즈니스 전략의 핵심 부분이지만 영원히 유지될 가능성은 낮습니다. ↩

  2. nbdime과 같은 도구는 Jupyter 노트북의 버전 제어에 도움이 될 수 있지만 이를 사용하면 복잡성이 더 가중됩니다. ↩

  3. 제지공장과 같은 도구는 생산 환경에서 노트북 실행을 간소화하는 것을 목표로 합니다. 클라우드 제공업체는 프로덕션에서 Jupyter 노트북과 관련된 파이프라인 생성도 지원합니다. ↩

  4. 스프레드시트 작성에 대한 FAST 표준에 대해 들어본 사람이 몇 명이나 됩니까? ↩

위 내용은 Jupyter Notebook은 스프레드시트와 같습니다. 둘 다 배우십시오.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.