DataFrames

#code update 02.2026

Date ranges

import pandas as pd

dates1 = pd.date_range('2021-04-01', periods=6, freq="D")
dates2 = pd.date_range('2025-09-11', periods=4,freq="ME")
dates3 = pd.date_range('2023-11-22', periods=3,freq="MS")
dates4 = pd.date_range('2020-12-31', periods=4,freq="YE")
dates5 = pd.date_range('2020-10-31', periods=6,freq="YS")
dates6 = pd.date_range('2020-10-31', periods=3,freq="QE")
dates7 = pd.date_range('2020-10-31', periods=3,freq="QS")

print(dates1)
print(dates2)
print(dates3)
print(dates4)
print(dates5)
print(dates6)
print(dates7)

DatetimeIndex([‘2021-04-01’, ‘2021-04-02’, ‘2021-04-03’, ‘2021-04-04’,
‘2021-04-05’, ‘2021-04-06’],
dtype=’datetime64[ns]’, freq=’D’)
DatetimeIndex([‘2025-09-30’, ‘2025-10-31’, ‘2025-11-30’, ‘2025-12-31′], dtype=’datetime64[ns]’, freq=’ME’)
DatetimeIndex([‘2023-12-01’, ‘2024-01-01’, ‘2024-02-01′], dtype=’datetime64[ns]’, freq=’MS’)
DatetimeIndex([‘2020-12-31’, ‘2021-12-31’, ‘2022-12-31’, ‘2023-12-31′], dtype=’datetime64[ns]’, freq=’YE-DEC’)
DatetimeIndex([‘2021-01-01’, ‘2022-01-01’, ‘2023-01-01’, ‘2024-01-01’,
‘2025-01-01’, ‘2026-01-01’],
dtype=’datetime64[ns]’, freq=’YS-JAN’)
DatetimeIndex([‘2020-12-31’, ‘2021-03-31’, ‘2021-06-30′], dtype=’datetime64[ns]’, freq=’QE-DEC’)
DatetimeIndex([‘2021-01-01’, ‘2021-04-01’, ‘2021-07-01′], dtype=’datetime64[ns]’, freq=’QS-JAN’)

DataFrame creating

import numpy as np

# Creating a DataFrame by passing a numpy array,
# with an index and labeled columns:
df = pd.DataFrame(np.random.randn(6,4),
                  index=dates1,
                  columns=['I','II','III','IV'])
print(df)
df result

DataFrame functions

# Data Parts
print('first row od dataframe:',df.head(1))
print('part of dataframe:',df.tail(3))

# Describe shows a quick statistic summary of your data
print('stats for dataframe:',df.describe())

# Sorting & Transposition
df2 = df.sort_index(axis=1, ascending=False)
print('transposition for sorted dataframe:',df2.T)
print('sorted dataframe no.2:',df2.sort_values(by="II"))

DataFrames selection methods

# Creating a DataFrame by passing a numpy array, 
#with an index and labeled columns:

dates = pd.date_range('20210101', periods=4)
df3 = pd.DataFrame(np.random.randn(4,3), 
index=dates, columns=list('XYZ'))
print(df3)

# Selection methods
print('values for X:')
print(df3['X'])
print('part of:')
print(df3[2:4])
print('Selection by Label:')
print(df3.loc[dates[3]])
print('get all the indexes and only two columns:')
print(df3.loc[:,['X','Y']])
print('if you want particular value')
print(df3.loc[dates[0],'X'])
print('Selection by Position:')
print(df3.iloc[3])
print(df3.iloc[3:4,0:2])
print(df3.iloc[[1,2,3],[0,2]])
print(df3[df3.Z > 0.05])
df3 selection results