Example: How to put a header title per dataframe after concatenate using pandas in python
import pandas as pd
from decimal import Decimal, ROUND_HALF_UP
L=['0000','0100','0200','0300','0400','0500','0600'
,'0700','0800','0900','1000','1100','1200','1300'
,'1400','1500','1600','1700','1800','1900','2000'
,'2100','2200','2300']
df1 = pd.read_csv('Dataframe1.csv')
df1.Date = pd.to_datetime(df1.Date, dayfirst=True)
df1 = df1.pivot_table(values='SampleValues',index="SampleIndex",columns='SampleColumns',aggfunc='max',fill_value="ND")
df1.index = df1.index.map(lambda t: t.strftime('%Y-%m-%d'))
df1 = df1.reindex_axis(L, axis=1)
df1.ix[:,pd.isnull(df1).all()] = "ND"
df2 = pd.read_csv('Dataframe2.csv')
df2.Date = pd.to_datetime(df2.Date, dayfirst=True)
df2 = df2.pivot_table(values='SampleValues',index='SampleIndex',columns='SampleColumns',aggfunc='max',fill_value="ND")
df2.index = df2.index.map(lambda t: t.strftime('%Y-%m-%d'))
df2 = df2.reindex_axis(L, axis=1)
df2.ix[:,pd.isnull(df2).all()] = "ND"
df3 = pd.read_csv('Dataframe3.csv')
df3.Date = pd.to_datetime(df4.Date, dayfirst=True)
df3 = df4.pivot_table(values='SampleValues',index='SampleIndex',columns='SampleColumns',aggfunc='max',fill_value="ND")
df3.index = df4.index.map(lambda t: t.strftime('%Y-%m-%d'))
df3 = df4.reindex_axis(L, axis=1)
df3.ix[:,pd.isnull(df4).all()] = "ND"
keys = ['HEADER TITLE1','HEADER TITLE 2', 'HEADER TITLE 3']
df4 = pd.concat([df1,df2,df3], axis = 1, keys = keys).to_csv("Output.csv", header = True, encoding = 'utf-8')