pd.concat stacks DataFrames vertically (more rows) or horizontally (more columns). Use when combining batches, time periods, or aligned feature columns.
Vertical concat
import pandas as pd
a = pd.DataFrame({'x': [1, 2]})
b = pd.DataFrame({'x': [3, 4]})
combined = pd.concat([a, b], ignore_index=True)
print(combined)
Horizontal concat
left = pd.DataFrame({'id': [1, 2], 'a': [10, 20]})
right = pd.DataFrame({'b': [100, 200]})
wide = pd.concat([left, right], axis=1)
print(wide)
Options
ignore_index=True— reset row index after vertical stackkeys=— add hierarchical index showing sourcejoin='inner'|'outer'— column alignment for axis=1
Important interview questions and answers
- Q: concat vs merge?
A: concat stacks same-schema tables; merge joins on keys horizontally by rows. - Q: append deprecated?
A: DataFrame.append removed—use pd.concat([df1, df2]).
Self-check
- Stack two DataFrames vertically with fresh index.
- When use axis=1 concat?
Tip: Collect DataFrames in a list, then one pd.concat—not repeated concat in a loop.
Interview prep
- concat vs merge?
concat stacks same-schema tables; merge joins on keys.
- append removed?
Use pd.concat([df1, df2]) instead of DataFrame.append.