import pandas as pd january = pd.DataFrame( { "order_id": ["A100", "A101"], "region": ["EMEA", "APAC"], "total": [125.0, 98.5], }, index=["jan-0", "jan-1"], ) february = pd.DataFrame( { "order_id": ["A102", "A103"], "region": ["EMEA", "AMER"], "total": [143.0, 87.0], }, index=["feb-0", "feb-1"], ) print(f"pandas {pd.__version__}") print() row_concat = pd.concat([january, february], ignore_index=True) print("ROW_CONCAT") print(row_concat) print() print("ROW_VERIFY") print(f"shape={row_concat.shape}") print(f"index={row_concat.index.tolist()}") print() february_extra = february.assign(discount=[5.0, 0.0]) outer_columns = pd.concat([january, february_extra], ignore_index=True, sort=False) inner_columns = pd.concat( [january, february_extra], ignore_index=True, join="inner", ) print("OUTER_COLUMNS") print(outer_columns) print() print("INNER_COLUMNS") print(inner_columns) print() print("INNER_VERIFY") print(inner_columns.columns.tolist()) print() customer_flags = pd.DataFrame( {"loyalty_tier": ["gold", "silver", "gold", "bronze"]}, index=row_concat.index, ) column_concat = pd.concat([row_concat, customer_flags], axis=1) print("COLUMN_CONCAT") print(column_concat) print() print("COLUMN_VERIFY") print(f"shape={column_concat.shape}") print(column_concat.loc[:, ["order_id", "loyalty_tier"]])