Home Pandas 사용법
Post
Cancel

Pandas 사용법

Module Import

1
import pandas as pd

기본적인 Dataframe 형성 및 출력(from MSSQL record 객체)

1
2
3
4
5
6
### Dataframe 형성
mssql_data = get_record() ### Record를 가져오는 것으로 가정
df = pd.DataFrame.from_records(mssql_data, columns=['id', 'pwd']) ### Column을 잘 맞추는게 중요

### Datafrmae 출력(n -> 항목 개수))
df.tail(n=10)

Column 목록 가져오기

1
columns = [column[0] for column in cursor.description]

Count 후, 해당 항목 Column에 추가하기

1
2
3
4
5
6
7
8
df.groupby(['A','B']).B.agg('count').to_frame('c').reset_index()
#df.groupby(['A','B']).size().to_frame('c').reset_index()

Out[593]: 
   A  B  c
0  x  p  2
1  y  q  1
2  z  r  2

row의 특정 column에서 key가 같을 경우, 다른 column의 값 합치기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
### Example
7-1-2016 | 4
7-1-2016 | 2
4-1-2016 | 5
### Into this
7-1-2016 | 6
4-1-2016 | 5

### Code 1)
df.groupby('datecol').sum()['Hourcol']

### Code 2)
df.index = pd.to_datetime(df['datecol'].astype(str) + ' ' + df['Hourcol'].astype(str), format='%Y-%m-%d %H')
df = df.resample('1d', how='sum') ### defaults to mean 

결측값 있는 행, 열 제거

1
2
3
4
5
6
7
8
9
10
### 결측값 있는 행 전체 제거
df_dop_row = df.dropna(axis=0)

### 결측값 있는 열 전체 제거
df_drop_column = df.dropna(axis=1)

### 특정 행 또는 열을 대상으로 결측값이 들어있으면 제거
df[['C1', 'C2', 'C3']].dropna(axis=0) ### 행
df[['C1', 'C2', 'C3']].dropna(axis=1) ### 열
df.ix[[2, 4], ['C1', 'C2', 'C3']].dropna(axis=0) ### 행, 열 통합

Correlation 후 항목 간 상관계수 순으로 정렬된 표가 필요할 때

1
2
3
4
df.corr().unstack().sort_values().drop_duplicates()

### 더 깔끔하게 보고 싶을 경우

Index, column에 있는 name 없애기

1
2
del df.index.name
del df.columns.names

Dataframe to JSON 할 때 어떻게 저장할지 선택하기 (정리 필요)

https://datatofish.com/export-pandas-dataframe-json/

1
### 실행
1
결과

참조 링크

결측값 있는 행, 열 제거

This post is licensed under CC BY 4.0 by the author.

개발이란

Node.js, NPM, etc...