Sometimes you want to iterate row by row of a pandas DataFrame, despite the performance you can use itterrows() method to “Iterate over DataFrame rows as (index, Series) pairs”.
Code:
import pandas as pd
date_range = {
'fname': ['2022-03-01', '2022-04-01', '2022-05-01', '2022-06-01', '2022-07-01', '2022-08-01'],
'start': ['2022-03-01', '2022-04-01', '2022-05-01', '2022-06-01', '2022-07-01', '2022-08-01'],
'end': ['2022-03-31', '2022-04-30', '2022-05-31', '2022-06-30', '2022-07-31', '2022-08-31']
}
df_date_range = pd.DataFrame(date_range)
for idx, dtrange in df_date_range.iterrows():
print("Filename: {}.csv, take the DataFrame from: {} to {}".format(dtrange['fname'], dtrange['start'], dtrange['end']))
The above code will print the filename, start and end date.
Output:
Filename: 2022-03-01.csv, take the DataFrame from: 2022-03-01 to 2022-03-31
Filename: 2022-04-01.csv, take the DataFrame from: 2022-04-01 to 2022-04-30
Filename: 2022-05-01.csv, take the DataFrame from: 2022-05-01 to 2022-05-31
Filename: 2022-06-01.csv, take the DataFrame from: 2022-06-01 to 2022-06-30
Filename: 2022-07-01.csv, take the DataFrame from: 2022-07-01 to 2022-07-31
Filename: 2022-08-01.csv, take the DataFrame from: 2022-08-01 to 2022-08-31