Use join() on the index:
# Create sample data
import pandas as pd
import numpy as np
data = {'date': pd.to_datetime(['2025-01-01', '2025-01-01', '2025-01-02', '2025-01-02']),
        'Sector': ['Tech', 'Finance', 'Tech', 'Finance'],
        'col5': [10, 20, 15, 25],
        'col6': [100, 200, 150, 250]}
df = pd.DataFrame(data)
# Create the pivot table
pivotdf = pd.pivot_table(df, values=["col5", 'col6'], index=['date'], columns='Sector')
# Merge by setting the index on the original dataframe and using .join()
# This avoids the MultiIndex column issue
df_with_index = df.set_index('date')
merged_df = df_with_index.join(pivotdf, how='left', rsuffix='_bySector_pivot')
merged_df = merged_df.reset_index() # If you want 'date' back as a column
# Print the merged dataframe
print(merged_df)
output: