Computer (114) 썸네일형 리스트형 Pandas DataFrame 합치기 - merge, concat merge Pandas의 merge 함수는 두 개의 데이터프레임 (DataFrame)을 합치는 함수입니다. 먼저 다음과 같은 두 개의 데이터프레임을 생성하겠습니다. df1 = pd.DataFrame({'key': list('bbacaab'), 'data1': range(7)}) df2 = pd.DataFrame({'key': list('aabde'), 'data2': range(13,18)}) 두 개의 데이터프레임은 'key' 라는 공통적인 열을 가지고 있습니다. Pandas의 merge 함수를 실행하면 자동으로 이름이 같은 공통된 열을 찾습니다. 디폴트로 실행할 경우 how='inner' 방식으로 동작하는데 이 방식은 두 데이터프레임의 공통된 열이 같은 값을 가지는 것에 대한 열에 대해서만 합치게 됩니.. Pandas 에서 데이터 이상치 찾기 - Z-score, Modified Z-score, IQR 이상치 (anomaly)란 주어진 데이터 분포 중심에서 멀리 떨어진 데이터를 말합니다. 말 그대로 정상 데이터가 아니라 비정상 데이터인 것이죠. 주어진 데이터에서 이상치를 찾는 가장 간단한 방법은 Z-score 입니다. Z-score Z-score 는 평균과 표준오차가 정의되어 있을 떄 해당 데이터가 얼마나 벗어나 있는지 측정하는 지표로 $Z-score = \frac{x_i-\mu}{\sigma}$ 와 같이 정의됩니다. 평균에서 얼마나 떨어져 있는지 계산하고 표준 오차로 나눠줌으로써 평균에서 어느 방향으로 얼마나 떨어져 있는지 계산합니다. Z-score의 절대값이 클수록 이상치라고 생각할 수 있습니다. Example 기본적인 라이브러리를 iport 하고 1950년부터 열린 월드컵 최다 득점자 정보를 가진.. Docker의 작동 구조 Namespace Docker는 리눅스 커널의 namespace 기능을 사용하여 컨테이너라는 독립된 환경을 만듭니다. Namespace는 한 덩어리의 데이터에 이름을 붙여 분할함으로써 충돌 가능성을 줄이고 쉽게 참조할 수 있는 개념으로 같은 이름의 객체라도 속해 있는 namespace가 다를 경우 다른 실체로 처리됩니다. 리눅스 커널의 namespace는 다음 6가지 독립된 namespace를 지원합니다. Namespace PID namespace PID란 Process ID의 약자로 리눅스에서 각 프로세스에 할당된 고유 ID를 말하며, namespace가 다른 프로세스끼리는 서로 액세스 할 수 없습니다. Network namespace 네트워크 디바이스, IP 주소, 포트 번호, 라우팅 테이블 과 같은.. Docker의 기능 Docker는 크게 1) 이미지를 만드는 build, 2) 이미지를 공유하는 ship, 3) 컨테이너를 작동시키는 run 의 세 가지 기능이 있습니다. Docker build Docker에서 build란 애플리케이션 실행에 필요한 프로그램 코드, 라이브러리, 미들웨어, 컴파일된 실행 파일 등을 묶어 이미지로 만드는 작업을 말합니다. 즉, 특정 프로세스 (애플리케이션)을 실행시키기 위한 모든 파일과 환경을 지닌 것으로 예를 들어 Ubuntu docker 이미지는 Ubuntu에 실행에 필요한 모든 파일을 가지고 있습니다. 이러한 도커 이미지로부터 컨테이너를 실행시키게 됩니다. 도커 이미지의 크기는 보통 작게는 수십 MB부터 수 GB가 넘지만 이는 VM에 비하면 굉장히 가볍습니다. 이미지는 상태값을 가지지 않.. 컨테이너 - Docker 컨테이너란 호스트 OS 상에 논리적인 구획을 만들고 애플리케이션을 작동시키기 위해 필요한 라이브러리나 애플리케이션 등을 하나로 모아 마치 별도의 서버인 것처럼 사용할 수 있게 만든 것입니다. 애플리케이션이 작동하는 플랫폼에 상관 없이 자유롭게 사용하며 버젼 관리와 배포를 쉽게 할 수 있다는 것이죠. 컨테이너를 이용한 오픈 소스 가상화 플랫폼으로는 2013년에 출시된 Docker 가 있습니다. 로고에서 보듯이 컨테이너에 애플리케이션에 필요한 각종 라이브러리 등을 담아 여러 항구 (플랫폼)에 배포하게 되는데요. 도커는 가상화 기술이 발전하면서 개인이 일일히 서버의 환경을 셋팅하기 힘들어지면서 탄생한 Immutable Infrastructure Paradigm 기반으로 만들어졌습니다. Immutable Inf.. Pandas - datetime64 타입 Pandas에서는 datetime64 라는 일자와 시간을 표기하는 타입을 지원합니다. 문자열로 되어있는 일자 (연월일)나 시간 (시분초)를 to_datetime이라는 함수로 datetime64 타입으로 변환할 수 있습니다. datetime64 먼저 예제를 하나 생성해 보겠습니다. df = pd.DataFrame({'Birth':['2019-01-01 09:10:00', '2019-01-08 09:20:30', '2019-02-01 10:20:00', '2019-02-02 11:40:50', '2019-02-28 15:10:20', '2019-04-10 19:20:50', '2019-06-30 21:20:50', '2019-07-20 23:30:59']}) df.dtypes를 통해 Birth column은.. Pandas - get_dummies 함수 범주형 (categorical) 데이터가 존재할 경우 이를 수치화하는 대표적인 방법은 One-hot Encoding 입니다. One-hot encoding은 범주의 개수만큼 dummy variable을 만들어 0 또는 1을 각 범주마다 할당해서 새로운 특성으로 바꾸는 방법입니다. 밑의 그림에서는 3개의 범주 (red, blue, green)에 대해 3개의 dummy variable을 할당한 뒤 red/blue/green 마다 각각 0 또는 1을 개별적으로 할당하는 것을 볼 수 있습니다. Pandas에서는 get_dummies 라는 one-hot encoding 을 실행하는 함수를 지원합니다. get_dummies get_dummies 함수의 대표적인 파라미터를 알아보면, Parameters Descrip.. 리눅스 Operating System (OS)는 하드웨어나 네트워크를 제어하는 것으로 개발 업무 시스템으로는 대부분 리눅스를 사용합니다. 리눅스는 1991년에 리누스 토르발즈 (버젼관리 시스템 git 또한 만드신 분..) 이 개발한 Unix 호환 서버 OS로 자원봉사자나 기업의 엔지니어로 구성된 커뮤니티에 의해 지속적으로 수정 관리되는 오픈소스입니다. 대부분의 서버와 모바일, 임베디드 시스템의 OS로 사용됩니다. 리눅스 커널 리눅스는 커널을 통해 메모리, 파일 시스템, 프로세스를 관리하고 디바이스를 제어합니다. 사용자는 리눅스 커널을 통해 디바이스에 접근하며, 실행된 프로세스에 PID를 할당하여 관리합니다. 또한 프로세스가 실행되기 위해서 메모리에 탑재되어야 되는데, 리눅스 커널은 프로그램/데이터를 물리 메모리.. 이전 1 ··· 7 8 9 10 11 12 13 ··· 15 다음