python2021. 4. 18. 12:11

Series와 DataFrame을 사용을 위해 pandas 를 설치할 필요가 있다.

conda를 사용하는 경우, 가상환경 activate 시킨 후, 모듈을 설치하면된다.

 

>conda activate virtual_env

>conda install python=3.8 pandas //numpy 모듈이 python 버전에 dependancy가 있으므로 유의할 것

 

먼저 모듈을 불러와 준다.

from pandas import Series, DataFrame

 

Series는 인덱스를 갖는 List라고 볼 수 있다.
Ex)
mine = Series([1,2,3],index=['tech','bio','enter'])
print(mine)


tech     1
bio      2
enter    3
dtype: int64

DataFrame는 여러개의 Series로 구성된 자료구조이다.
기본 특징으로는 
1, 생성 방법에는 dict가 사용됨

daeshin = {'open':  [11650, 11100, 11200, 11100, 11000],
           'high':  [12100, 11800, 11200, 11100, 11150],
           'low' :  [11600, 11050, 10900, 10950, 10900],
           'close': [11900, 11600, 11000, 11100, 11050]}

2, columns의 list를 넘겨주어 columns의 순서를 지정 가능
Ex1)
   
daeshin_day = DataFrame(daeshin , 
columns=['close','high','low','open'])


   close   high    low   open
0  11900  12100  11600  11650
1  11600  11800  11050  11100
2  11000  11200  10900  11200
3  11100  11100  10950  11100
4  11050  11150  10900  11000


3, index에 list를 넘겨줌으로써 default index를 원하는 형태로 변경 가능하다.
Ex2)    
daeshin_day = DataFrame(daeshin , 
columns=['close','high','low','open']
                        ,index=['01-01','01-02','01-03','01-04','01-05'])

       close   high    low   open
01-01  11900  12100  11600  11650
01-02  11600  11800  11050  11100
01-03  11000  11200  10900  11200
01-04  11100  11100  10950  11100
01-05  11050  11150  10900  11000


각 column(Series)에 대한 참조는 dict와 유사함.

print(max(daeshin_day['open']))

 

01-01    11650
01-02    11100
01-03    11200
01-04    11100
01-05    11000

 

 

행의 값을 읽어 오는 방법은 loc 메서드를 사용하면 된다.

print(daeshin_day.loc['01-01'])

 

close    11900
high     12100
low      11600
open     11650
Name: 01-01, dtype: int64

 

print(type(daeshin_day.loc['01-01']))// type은 Series

 

결론 :

row 를 읽으려면 loc 메서드 사용

colume을 읽으려면 dict와 같이 column name을 인덱싱.

 

참고: 행렬의 요소를 읽어오는 방법.

print(daeshin_day.index)
print(daeshin_day.columns)

 

Index(['01-01', '01-02', '01-03', '01-04', '01-05'], dtype='object')
Index(['close', 'high', 'low', 'open'], dtype='object')

 

index를 이용한 DataFrame의 출력

for row in daeshin_day.index:
    print(daeshin_day.loc[row])

Posted by easy16