시계열 데이터에서 원하는 날짜만 선택하기 (슬라이싱)

파이썬의 데이터프레임 형식의 시계열데이터에서 원하는 시계열 자료만 추출하는 법을 알아보자. 


우선 기본적으로 데이터를 만들어 불러오는 코드를 생성하자. 여기서는 삼성전자(sec)의 데이터를 생성해서 알아본다. 



1
2
3
4
5
6
7
8
9
10
11
import pandas as pd
import pandas_datareader as pdr
import datetime
 
 
Start = datetime.datetime(2010,1,1)
End   = datetime.datetime(2015,1,13)
 
sec= pdr.get_data_yahoo("005930.KS",
                          start = Start,
                          end = End)
cs


코드를 실행하면 sec라는 변수에 데이터가 담겨있는 것을 알수 있다. 

tail함수로 뒷 부분만 잠시 살펴보면 다음과 같다. 


1
2
3
4
5
6
7
8
9
10
sec.tail()
Out[19]: 
               High      Low     Open    Close      Volume   Adj Close
Date                                                                  
2015-01-08  26780.0  26200.0  26780.0  26280.0  14477600.0  257.229523
2015-01-09  26440.0  26280.0  26280.0  26280.0   9312400.0  257.229523
2015-01-12  26380.0  26020.0  26260.0  26320.0   8325400.0  257.621002
2015-01-13  26800.0  26000.0  26280.0  26780.0  12293400.0  262.123505
2015-01-14  27100.0  26700.0  26780.0  26900.0  14332250.0  263.298065
 
cs


현재 데이터는 2010, 1,1 부터 2015,1,13까지의 데이터를 가지고 있는데 이중에서 2013년 데이터만 가져오는 걸 해보도록 하자. 


1
sec['2013-01-01':'2013-12-31']
cs


위의 코드가 실제로 슬라이식을 하려는 코드이다. 다른 기간을 슬라이싱 하려면 숫자만 변경해 주면 된다. 

결과는 아래와 같다.


sec['2013-01-01':'2013-12-31']

Out[20]: 

               High      Low     Open    Close      Volume  Adj Close

Date                                                                 

2013-01-02  31520.0  30540.0  30660.0  31520.0  11449650.0  42.188969

2013-01-03  31680.0  30860.0  31640.0  30860.0  14227400.0  41.305569

2013-01-04  30840.0  30200.0  30800.0  30500.0  12999800.0  40.823719

2013-01-07  30560.0  30000.0  30300.0  30400.0  12610950.0  40.689869

2013-01-08  30340.0  29960.0  30260.0  30000.0  13822250.0  40.154469

2013-01-09  30260.0  29820.0  30000.0  30000.0  12659950.0  40.154469

2013-01-10  30680.0  30000.0  30300.0  30600.0  14663600.0  40.957561

2013-01-11  30960.0  30140.0  30960.0  30660.0  11913550.0  41.037868

2013-01-14  31040.0  30560.0  30780.0  31040.0   7999950.0  41.546490

2013-01-15  31200.0  30240.0  31200.0  30240.0  10727150.0  40.475712

2013-01-16  30520.0  29660.0  30280.0  29840.0  16221000.0  39.940315

2013-01-17  30040.0  29000.0  30040.0  29380.0  20236700.0  39.324619

2013-01-18  29740.0  29100.0  29600.0  29600.0  12516600.0  39.619080

2013-01-21  29500.0  28960.0  29280.0  29080.0  14519650.0  38.923069

2013-01-22  29740.0  28900.0  28900.0  29600.0  11947400.0  39.619080

2013-01-23  30040.0  29460.0  30000.0  29460.0   9293550.0  39.431698

2013-01-24  29380.0  28820.0  29360.0  29060.0  15999050.0  38.896301

2013-01-25  29220.0  28100.0  29200.0  28340.0  21795250.0  37.932602

2013-01-28  28020.0  27420.0  27920.0  27440.0  30852150.0  36.727966

2013-01-29  28360.0  27600.0  27800.0  28180.0  21616550.0  37.718437

2013-01-30  28800.0  28240.0  28520.0  28800.0  16170100.0  38.548294

2013-01-31  28960.0  28440.0  28600.0  28960.0  16052800.0  38.762455

2013-02-01  29200.0  28440.0  29200.0  28820.0  11576200.0  38.575058

2013-02-04  29060.0  28340.0  29000.0  28740.0  12861900.0  38.467983

2013-02-05  28860.0  28280.0  28300.0  28700.0  11388100.0  38.414448

2013-02-06  28860.0  28540.0  28800.0  28540.0   6897150.0  38.200291

2013-02-07  28780.0  28400.0  28780.0  28400.0   9721100.0  38.012909

2013-02-08  29400.0  28300.0  28360.0  29240.0  13423850.0  39.137226

2013-02-12  29680.0  29180.0  29680.0  29360.0   8419750.0  39.297848

2013-02-13  29780.0  29120.0  29480.0  29740.0   9209050.0  39.806465

            ...      ...      ...      ...         ...        ...

2013-11-18  29520.0  29300.0  29400.0  29480.0   6386800.0  40.256573

2013-11-19  29780.0  29540.0  29660.0  29780.0   8183550.0  40.666233

2013-11-20  29740.0  29280.0  29460.0  29400.0   8178150.0  40.147327

2013-11-21  29440.0  28640.0  29440.0  28800.0   9019800.0  39.327991

2013-11-22  29120.0  28620.0  28820.0  29000.0   8574600.0  39.601109

2013-11-25  29440.0  29020.0  29020.0  29300.0   6615300.0  40.010773

2013-11-26  29580.0  29100.0  29160.0  29580.0   8586250.0  40.393135

2013-11-27  29520.0  29200.0  29340.0  29400.0   9351700.0  40.147327

2013-11-28  29880.0  29580.0  29600.0  29880.0  10644900.0  40.802792

2013-11-29  29980.0  29700.0  29980.0  29880.0   6752200.0  40.802792

2013-12-02  30060.0  29340.0  30000.0  29340.0   7487800.0  40.065392

2013-12-03  29560.0  29140.0  29280.0  29220.0   7798600.0  39.901520

2013-12-04  29060.0  28620.0  29000.0  28640.0  10844000.0  39.109501

2013-12-05  28920.0  28440.0  28660.0  28800.0  10479650.0  39.327991

2013-12-06  29080.0  28560.0  29080.0  28560.0   9147450.0  39.000256

2013-12-09  29080.0  28800.0  28800.0  29080.0   6996900.0  39.710354

2013-12-10  29020.0  28620.0  28820.0  28800.0   7755600.0  39.327991

2013-12-11  28880.0  28320.0  28520.0  28400.0  10629150.0  38.781773

2013-12-12  28200.0  27920.0  27920.0  28200.0  14962050.0  38.508663

2013-12-13  28220.0  27800.0  28200.0  27800.0  10053250.0  37.962433

2013-12-16  28080.0  27660.0  27820.0  28000.0   8954400.0  38.235546

2013-12-17  28340.0  27860.0  28340.0  27900.0   7762400.0  38.098995

2013-12-18  28200.0  27880.0  28100.0  28020.0  10899200.0  38.262859

2013-12-19  28680.0  28360.0  28360.0  28540.0  10552400.0  38.972950

2013-12-20  28540.0  28260.0  28260.0  28540.0   8407400.0  38.972950

2013-12-23  28760.0  28580.0  28740.0  28660.0  10639200.0  39.136814

2013-12-24  28640.0  28300.0  28600.0  28300.0  10980350.0  38.645218

2013-12-26  28300.0  28020.0  28160.0  28160.0  12307800.0  38.454044

2013-12-27  28220.0  27900.0  28200.0  27920.0  10510000.0  74.765793

2013-12-30  27940.0  27200.0  27920.0  27440.0  16908100.0  73.480415


[247 rows x 6 columns]


댓글

Designed by JB FACTORY