# Complex demo: Load, merge, and visualize CSV with Pandas/Matplotlib
import pandas as pd
import matplotlib.pyplot as plt

def advanced_csv_load(file1, file2):
    df1 = pd.read_csv(file1, index_col=0)
    df2 = pd.read_csv(file2, index_col=0)
    merged_df = pd.merge(df1, df2, on="ID", suffixes=("_A", "_B"))
    merged_df["Total"] = merged_df["Value_A"] + merged_df["Value_B"]
    return merged_df

def visualize_csv(df):
    fig, ax = plt.subplots(figsize=(10, 6))
    ax.bar(df["ID"], df["Total"], color='blue')
    ax.set_title('Merged CSV Total Values', fontsize=16)
    ax.set_xlabel('ID', fontsize=12)
    ax.set_ylabel('Total Value', fontsize=12)
    ax.annotate('High Total', xy=(df["Total"].idxmax(), df["Total"].max()), xytext=(df["Total"].idxmax() + 0.5, df["Total"].max() - 1), arrowprops=dict(facecolor='black', shrink=0.05))
    plt.show()

# Assume two CSV files: csv1.csv and csv2.csv with ID, Value columns
merged = advanced_csv_load("csv1.csv", "csv2.csv")
visualize_csv(merged)
print("Merged CSV:\n", merged)