- Comparison with SQL
- Python Pandas - Caveats & Gotchas
- Python Pandas - Sparse Data
- Python Pandas - IO Tools
- Python Pandas - Visualization
- Python Pandas - Categorical Data
- Python Pandas - Timedelta
- Python Pandas - Date Functionality
- Python Pandas - Concatenation
- Python Pandas - Merging/Joining
- Python Pandas - GroupBy
- Python Pandas - Missing Data
- Python Pandas - Aggregations
- Python Pandas - Window Functions
- Statistical Functions
- Indexing & Selecting Data
- Options & Customization
- Working with Text Data
- Python Pandas - Sorting
- Python Pandas - Iteration
- Python Pandas - Reindexing
- Function Application
- Descriptive Statistics
- Python Pandas - Basic Functionality
- Python Pandas - Panel
- Python Pandas - DataFrame
- Python Pandas - Series
- Introduction to Data Structures
- Python Pandas - Environment Setup
- Python Pandas - Introduction
- Python Pandas - Home
Python Pandas Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Python Pandas - Date Functionapty
Extending the Time series, Date functionapties play major role in financial data analysis. While working with Date data, we will frequently come across the following −
Generating sequence of dates
Convert the date series to different frequencies
Create a Range of Dates
Using the date.range() function by specifying the periods and the frequency, we can create the date series. By default, the frequency of range is Days.
import pandas as pd print pd.date_range( 1/1/2011 , periods=5)
Its output is as follows −
DatetimeIndex([ 2011-01-01 , 2011-01-02 , 2011-01-03 , 2011-01-04 , 2011-01-05 ], dtype= datetime64[ns] , freq= D )
Change the Date Frequency
import pandas as pd print pd.date_range( 1/1/2011 , periods=5,freq= M )
Its output is as follows −
DatetimeIndex([ 2011-01-31 , 2011-02-28 , 2011-03-31 , 2011-04-30 , 2011-05-31 ], dtype= datetime64[ns] , freq= M )
bdate_range
bdate_range() stands for business date ranges. Unpke date_range(), it excludes Saturday and Sunday.
import pandas as pd print pd.date_range( 1/1/2011 , periods=5)
Its output is as follows −
DatetimeIndex([ 2011-01-01 , 2011-01-02 , 2011-01-03 , 2011-01-04 , 2011-01-05 ], dtype= datetime64[ns] , freq= D )
Observe, after 3rd March, the date jumps to 6th march excluding 4th and 5th. Just check your calendar for the days.
Convenience functions pke date_range and bdate_range utipze a variety of frequency apases. The default frequency for date_range is a calendar day while the default for bdate_range is a business day.
import pandas as pd start = pd.datetime(2011, 1, 1) end = pd.datetime(2011, 1, 5) print pd.date_range(start, end)
Its output is as follows −
DatetimeIndex([ 2011-01-01 , 2011-01-02 , 2011-01-03 , 2011-01-04 , 2011-01-05 ], dtype= datetime64[ns] , freq= D )
Offset Apases
A number of string apases are given to useful common time series frequencies. We will refer to these apases as offset apases.
Apas | Description | Apas | Description |
---|---|---|---|
B | business day frequency | BQS | business quarter start frequency |
D | calendar day frequency | A | annual(Year) end frequency |
W | weekly frequency | BA | business year end frequency |
M | month end frequency | BAS | business year start frequency |
SM | semi-month end frequency | BH | business hour frequency |
BM | business month end frequency | H | hourly frequency |
MS | month start frequency | T, min | minutely frequency |
SMS | SMS semi month start frequency | S | secondly frequency |
BMS | business month start frequency | L, ms | milpseconds |
Q | quarter end frequency | U, us | microseconds |
BQ | business quarter end frequency | N | nanoseconds |
QS | quarter start frequency |