본문 바로가기

Study/class note

리눅스 / 주피터 노트북 설치하기 + 원격으로 주피터노트북 실행하기

29 리눅스에 주피터 노트북 설치

리눅스 서버 안에서 터미널 창을 열고 수행해야함.(putty, 모바텀 xxxxxxxxx)
※ 리눅스 서버에 접속할 때 oracle 유져로 접속해야함.

 

1. oracle유저로 접속해서 py389를 activate 시키고 conda install 명령어로 주피터노트북을 설치합니다.

(base) [oracle@localhost ~]$ conda activate py389
(py389) [oracle@localhost ~]$ conda install -c conda-forge jupyterlab

질문이 나온다면 y를 눌러 설치 진행시키면 됩니다.

 

2. 주피터 노트북을 실행합니다.

(py389) [oracle@localhost ~]$ jupyter notebook

 

 

ㅇ 원격으로 리눅스 서버의 주피터 노트북 실행하는 방법

1. putty에서 oracle유저로 접속해서 로그인합니다.

 

2. 아나콘다 py389 가상환경을 activate 시킵니다.

(base) [oracle@localhost ~]$ conda activate py389
(py389) [oracle@localhost ~]$

 

3. 모바텀을 실행합니다.

(모바텀이 이미 켜져있다면 X server is running인지 확인합니다.)

 

4. 다시 putty로 돌아와서 아래의 명령어를 실행합니다.

(이때 리눅스에 터미널 창은 아무것도 켜져있으면 안됨)

(py389) [oracle@localhost ~]$ export  DISPLAY=172.30.1.38:0.0

DISPLAY= 172.30.1.38:0.0 <- 이때 반드시 본인의 아이피 주소를 입력합니다.

cmd창을 열어 ipconfig 명령어를 쳐서 ip주소를 확인합니다.

 

5. 주피터 노트북을 실행합니다.

(py389) [oracle@localhost ~]$ jupyter notebook

 

6. 잘 실행되는지 코드를 쳐서 확인합니다.

import pandas as pd

emp = pd.read_csv("/home/oracle/emp.csv")
emp

 

 

문제157. 직업이 SALESMAN인 사원들의 이름과 월급을 출력하시오.

emp[['ename', 'sal']][emp.job == 'SALESMAN']

 

문제158. 직업, 직업별 토탈월급을 출력하세요.

emp.groupby('job')['sal'].sum().reset_index()

 

문제159. 위의 결과를 원형 그래프로 시각화하시오.

a = emp.groupby('job')['sal'].sum()
a.plot(kind = 'pie')

 

ㅇ matplotlob 패키지 설치방법

 puttty 열고 oracle로 접속해서 py389를 active 시키고 패키지를 설치합니다.

(base) [oracle@localhost ~]$ conda activate py389
(py389) [oracle@localhost ~]$ pip install matplotlib

 

문제160. 사원 데이터 프레임에서 입사한 연도 4자리를 출력하세요.

import pandas as pd

emp.hiredate = pd.to_datetime(emp.hiredate)
emp.info()

emp.hiredate

날짜가 object로 되어있므로 datatime으로 변환시켜야 합니다.

 

 

문제161. 입사년도 4자리, 입사한 연도별 토탈월급을 출력하시오.

year = emp.hiredate.dt.year

emp.groupby(year)['sal'].sum()

 

문제162. 위의 결과를 막대그래프로 시각화하시오.

import matplotlib.pyplot as plt

b = emp.groupby(year)['sal'].sum()
b.plot(kind = 'bar')

 

문제163. 위의 출력된 그래프를 /home/oracle 밑에 a.png라는 이름으로 저장하시오.

b = emp.groupby(year)['sal'].sum()
b.plot(kind = 'bar')

plt.savefig('/home/oracle/a.png')

모바텀을 통해 파일 윈도우로 내려받으면 됨.

 

 

문제164. 리눅스 서버에 /home/oracle 밑에 dept.csv를 올리시오.

모바텀을 통해 서버에 올리면 됨.

 

문제165. dept.csv를 판다스 데이터 프레임 dept로 생성하시오.

dept = pd.read_csv("/home/oracle/dept.csv")
dept

 

문제166. emp 데이터 프레임과 dept데이터 프레임을 merge해서 이름과 부서위치를 출력하시오.

df_merge = pd.merge(emp, dept, on= 'deptno')
df_merge

 

반응형