Pandas(1)

Jinmin Kim·2019년 12월 19일
0

#20191219 Pandas 시작


**아나콘다 설치

  • Pandas를 사용하기위해서는 아나콘다가 설치되어있어야한다.
  • 아나콘다 설치할때에 *시스템환경변수를 사용하여서 설정 시켜주어야한다 Anaconda Path를 설정시켜주어야한다
  • user에 관한 사용자 변수는 사용자 한사람에 관해서 관환 환경변수이며
  • 시스템 변수에 관한 변수는 컴퓨터 전체에 관한 환경변수이다

**Pandas 사용법

  • 갭마인더 데이터집합(데이터 분석용 샘플 데이터)
  • import pandas : 판다스 라이브러리
  • read_csv() : csv 파일 불러오기
  • read_json(): json 파일 불러오기

**docker 사용법

- 윈도우에서 명령어의 경로 확인 방법

where python

- 도커 기본 사용법

http://pyrasis.com/Docker/Docker-HOWTO

1. 도커 허브에 있는 이미지로 컨테이너 런 (최초 실행시)

docker run --rm --name eda -itd -u vscode -p 8888:8888 -p 8088:8088 -p 6006-6015:6006-6015 -e JUPYTER_RUN=yes -v /c/Users/user/PNU_201912/eda:/home/vscode/notebooks/eda mrsono0/devremotecontainers:eda

2. 작업 진행 중 수시로

docker commit vmelove/eda

3. 내가 commit 한 이미지로 컨테이너 런 실행

docker run --rm --name eda -itd -u vscode -p 8888:8888 -p 8088:8088 -p 6006-6015:6006-6015 -e JUPYTER_RUN=yes -v /c/Users/user/PNU_201912/eda:/home/vscode/notebooks/eda vmelove/eda

4. 내가 commit한 이미지를 나의 도커 허브에 push 할때

docker push vmelove/eda

5. 서버에 있는 이미지를 나의 도커 허브에 pull 할때

docker pull vmelove/eda

6. jupyterlab 실행 시키기

docker logs --tail 30 eda
를 실행시켜서 token을 확인후에
http://192.168.99.100:8888 하고 password에 token입력

Tip

-애저 클라우드 환경
-Colab ->에서도 jupyter 노트북을 실행가능
-머신러닝을 사용할때 이점이 있다


4. **Python 문법

  • tuple
    tuple(튜플)은 불변한 순서가 있는 객체의 집합입니다.
    list형과 비슷하지만 한 번 생성되면 값을 변경할 수 없습니다.
    REPL에서 확인해봅니다.
    list와 마찬가지로 다양한 타입이 함께 포함될 수 있습니다.

  • dictionary
    딕셔너리 타입은 immutable한 키(key)와 mutable한 값(value)으로 맵핑되어 있는 순서가 없는 집합입니다.
    REPL에서 확인합니다.
    일반적인 딕셔너리 타입의 모습입니다. 중괄호로 되어 있고 키와 값이 있습니다.

  • list
    순서가 있는 수정가능한 객체의 집합입니다.
    수정, 삭제, 추가가 가능합니다.
    list 는 [] 대괄호로 작성되어지며, 내부 원소는 ,로 구분됩니다.
    REPL에서 확인하겠습니다. 일반 list 입니다.

  • set
    set은 수학에서 이야기하는 집합과 비슷합니다.
    순서가 없고, 집합안에서는 unique한 값을 가집니다.
    그리고 mutable 객체입니다.

  • def test(a,b,c=1)

  • def test(a,b=2,c=3)
    함수를 사용할때에 default 파라미터 주의

  • 람다식

  • from a import b
    a안에 잇는 b함수를 import하겠다

  • as
    모듈 import할떄 별명 지정

  • class
    데이터와 메소드를 합쳐놓은 클래스

  • 정규표현식


5. **Pandas

-Pandas는 list의 확장판이다

import pandas as pd
df = pd.read_csv('../data/gapminder.tsv',sep='\t')

  • print(df.head())

  • print(type(df))
    df의 type 정보

  • print(df.shape)
    df의 모양

  • print(df.columns)
    df의 columns

  • print(df.dtypes)

  • print(df.info())

  • country_df = df['country']
    dictionary의 값을 하나만 가져올때

  • print(type(contry_df))

  • print(country_df.head())

  • print(subset.tail())

  • print(df.loc[0])

  • print(df.loc[99])

  • number_of_rows = df.shape[0]
    print(df.shape[0])
    last_row_index = number_of_rows - 1
    print(df.loc[last_row_index])
    df.shape[0]으로 인해서 마지막값을 알수있다

  • print(df.tail(n=1))

  • print(df.tail(n=2))

  • print(df.loc[[0,99,999]])
    여러개의 list를 지정하여서 저 리스트만큼 가져올수있다

  • subset_loc = df.loc[0]
    subser_tail = df.tail(n=1)
    print(type(subset_loc))
    print(type(subser_tail))
    tail은 dataframe, loc는 series로 변환

  • print(df.iloc[1])
    세로로 리스트1번에 접근

  • subset = df.loc[:, ['year','pop']]
    print(subset.head())
    :은 처음부터 마지막까지인데 year와 pop만 처음부터 끝까지 가져와라

  • subset = df.loc[0:3, ['year','pop']]
    print(subset.head())

  • subset = df.iloc[:, [2,4,-1]]
    print(subset.head())
    -1때문에 마지막것을 뜻한다

  • small_range = list(range(5))
    print(small_range)

  • subset = df.iloc[:, small_range]
    print(subset.head())

  • small_range = list(range(0,6,2))
    subset = df.iloc[:, small_range]
    print(subset.head())

  • subset = df.iloc[:, :3]
    print(subset.head())
    처음부터 마지막까지 row를 가지고오고
    3번째 까지만 행을 가져오는것

  • print(df.iloc[[0,99,999], [0, 3, 5]])
    열과 행을 지정해줘서 가져오기

  • print(df.groupby('year')['lifeExp'].mean())
    DB와 비슷하게 groupby를 사용할수있다

  • multi_group_var = df.groupby(['year', 'continent'])[['lifeExp','gdpPercap']].mean()
    print(multi_group_var)
    데이터를 합쳐준다

  • print(type(multi_group_var))

  • print(df.groupby('continent')['country'].nunique())
    중복되는 것을 확인하는것

###??질문
DataFrame과 series의 차이는 무엇일까?

6. **numpy

profile
Let's do it developer

0개의 댓글