Pandas 기초 익히기 from 파이썬으로 데이터 주무르기
JupyterNotebook - [File] - [Print Preview] - Ctrl+U - 소스코드 복사
티스토리에서 HTML 모드로 삽입.
HTML 코드를 그대로 삽입하고 나면, 화면의 전체적인 글씨가 한번에 작아진다.
html {
font-size: 10px;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
line-height: 1.42857143;
color: #000;
background-color: #fff;
}
이 부분을 지우고 복사하면 괜찮아진다.
pandas 기초 익히기¶
In [1]:
import pandas as pd
import numpy as np
series : pandas의 데이터 유형 중 기초가 되는 데이터 유형
In [2]:
s = pd.Series([1,3,5,np.nan,6,8])
s
Out[2]:
date_range 날짜형 데이터
In [3]:
dates = pd.date_range('20130101', periods=6)
dates
Out[3]:
DataFrame 또한 데이터 유형의 하나.
6행 4열의 random 변수를 만들고, column은 A, B, C, D 로, index는 위에서 만든 dates로 지정
In [4]:
df = pd.DataFrame(np.random.randn(6,4), index =dates, columns=['A', 'B', 'C', 'D'])
df
Out[4]:
df DataFrame 확인. 너무 길면 jupyter notebook이 내용을 줄여서 보여준다.
df.index DataFrame의 index 확인
df.columns DataFrame의 column 확인
df.values 값 확인
df.info() DataFrame의 개요 확인
df.decribe() 통계적개요 확인. 개수, 평균, 표준편차, 최대/최소 등
In [5]:
df.info()
In [6]:
df.describe()
Out[6]:
df.sort_values(by= 정렬기준컬럼, ascending = 오름차순여부 )
In [8]:
df.sort_values(by = 'B', ascending = False)
Out[8]:
In [9]:
df['A']
Out[9]:
A 컬럼만 Series 형태로 보여준다
df.loc[행범위,열범위] 인덱스를 통해 데이터 추출
In [11]:
df.loc[dates[0]]
Out[11]:
In [13]:
df.loc[:,['A','B']]
Out[13]:
In [15]:
df.loc['20130102':'20130104',['A','B']]
Out[15]:
20130102부터 20130104까지의 데이터를 A, B 열만 가져온다
df.iloc[] 행번호, 열번호를 이용해 데이터에 바로 접근. (그냥 : 만 쓰면 전체범위를 의미)
In [16]:
df.iloc[3]
Out[16]:
숫자 하나일 땐 행번호 의미
In [17]:
df.iloc[3:5, 0:2]
Out[17]:
In [20]:
df.iloc[[1,2,4],0:2]
Out[20]:
조건을 만족하는 데이터만 가져오기¶
In [22]:
# A 컬럼이 0 보다 큰 데이터만 가져오기
df[df.A > 0]
Out[22]:
In [23]:
df[df > 0]
Out[23]:
DataFrame 복사하기¶
In [27]:
df2 = df.copy()
df2
Out[27]:
새로운 컬럼 추가¶
In [31]:
df2['E'] = ['one', 'two', 'three', 'four', 'five', 'six']
df2
Out[31]:
In [34]:
# E 컬럼에 'two','four'가 있는지 조건을 걸어 검사
df2[df2['E'].isin(['two', 'four'])]
Out[34]:
In [35]:
# DataFrame에 함수 적용하기 .apply()
# Numpy 의 cumsum 함수 : 누적합계산
df.apply(np.cumsum)
Out[35]:
In [36]:
# 최대값과 최소값의 차이
df.apply(lambda x: x.max() - x.min())
Out[36]:
In [1]:
from IPython.core.display import display, HTML
display(HTML("<style>.container {width:100% !important;}</style>"))
'공부기록 > Python' 카테고리의 다른 글
[Python] yield 이용해 Progress bar 만들기 (0) | 2020.05.25 |
---|---|
파이썬 정규표현식 이용해 문장부호 지우기 (2) | 2020.05.21 |
점프투파이썬 종합문제 Q16 모스부호 해독 Morse code decoder (0) | 2020.05.15 |
점프투파이썬 종합문제 Q13 DashInsert (0) | 2020.05.14 |