codestates / codestates/ds-blog

[오예은] day2 PYTHON101

Open
#44 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
2
Forks
4
PR merge metrics
No merged PRs in 30d

Description

![python](https://user-images.githubusercontent.com/69617800/91811591-b4aac380-ec6a-11ea-8899-61d863044a6d.png)

# python(파이썬)
>1991년에 발표된 MATLAB과 유사한 인터프리터 방식의 프로그래밍 언어
귀도 반 로섬(Guido van Rossum)이 1989년 크리스마스 주에, 연구실이 닫혀있어서 심심한 김에 만들었다고 한다.
이름은 귀도가 즐겨 보던 영국의 6인조 코미디 그룹 몬티 파이선에서 따왔다고 한다.

### 특징
1) 쉽게 접근이 가능하다.
파이썬은 상급언어이기 때문에 컴퓨터 언어에 기본적인 지식이 없어도 기본적인 영문법을 안다면 익히기 쉽다.
2) 객체지향형 언어이다.
모든 요소가 객체로 취급되어 다양하게 응용이 가능하다.
3) 들여쓰기가 문법에 가장 중요한 요소라서 코드 작성 시 들여쓰기를 제대로 하지 않으면 실행이 안될 수 있다.
4) 우수한 자료형과 다양한 모듈 등을 제공해 개발기간을 단축할 수 있다.

### 파이썬으로 할 수 있는 것
시스템 유틸리티 제작, GUI 프로그래밍, C/C++와의 결합, 웹 프로그래밍,
수치 연산 프로그래밍(Numpy), 데이터베이스 프로그래밍(pickle), 데이터 분석, 사물 인터넷

#### 관련 라이브러리
* 수학
• 심파이(SymPy): 인수 분해, 미분, 적분 등 심볼릭 연산 기능을 제공
• 넘파이(NumPy): 통계, 선형 대수, 행렬 계산, 금융 운용 등을 포함한 과학 계산과 수학 작업
• 싸이파이(SciPy): 고성능 선형대수, 함수 최적화, 신호 처리, 특수한 수학 함수와 통계 분포 등 과학 계산용 함수

* 데이터
• 판다스(pandas): 데이터 처리와 분석을 위한 라이브러리
• 다스크(Dask) : 홈페이지 판다스의 병렬&분산처리 버전
• StatsModels: 통계 및 회귀 분석, 시계열 분석을 위한 라이브러리

* 그래프 (차트) 그리기
• 맷플랏립(matplotlib): 과학 계산용 그래프 라이브러리
• 씨본(Seaborn): matplotlib에서 지원하지 않는 고급 통계 차트를 그리기 위한 통계용 시각화 기능을 제공
• 보케(Bokeh): 주피터 노트북이나 웹상에서 자바스크립트로 그래프나 차트를 그려주는 기능을 제공
• Pygal: 시각화 라이브러리이다.

* 머신 러닝
• 텐서플로우(TensorFlow): 구글에서 오픈 소스로 공개한 기계 학습, 인공 신경망 라이브러리
• 사이킷런(scikit-learn): 파이썬의 머신 러닝 라이브러리
• 파이토치(PyTorch): 토치 기반의 기계 학습 라이브러리

### 데이터분석과 파이썬
#### R vs. Python
* R : **통계 계산과 그래픽을 위한** 프로그래밍 언어이자 소프트웨어 환경
* python : 인터프리터 방식의 **프로그래밍 언어**
> python이 인기를 얻게된 이유 중 하나는 R보다 월등히 좋아서라기보다는,
최근 들어 머신러닝이나 데이터 분석 관련 python 라이브러리가 많이 개발되면서 학습과 적용에 용이하다는 python의 장점이
R이 '통계/계산'이라는 분명한 목적보다 선택에 있어 우위를 차지했을 것이라 추측한다.

#### 번외) 개발 툴 : 왜 Jupyter Notebook, google colab과 같은 노트북 형식을 사용할까?
`notebook: 블로그나 노트를 쓰듯이 단락을 만들고, 그 안에 Cell을 만들어서 코드를 적어놓고, 실행시키는 방식으로 개발에 사용`
데이터 관련 분야에서는 완성된 시스템을 만들기보다, 데이터를 가지고 **코딩 →결과 확인 → 코드 수정 → 결과 확인** 등의 반복적인 작업이 이루어진다. 코드를 셀 단위로 나누어 작업하면 수정 등을 통해 의미있는 결과를 얻어내는 데 더 효율적이기 때문에 일반적인 콘솔이 아닌 노트북을 활용하는 경우가 많다. 또한 클라우드 기반의 노트북 툴은 협업에 사용하기 편리하기도 하다.

##### 참고 사이트: 나무위키, 점프 투 파이썬

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.