DataFrame.append removal in pandas 2.0 and concat replacement
0 reputation · 29 Feb 2020, 13:39 UTC
Migration of legacy code that used DataFrame.append and Series.append from pandas 1.x to pandas 2.0+ crosses a documented compatibility boundary. The append methods were deprecated in pandas 1.4 and removed in pandas 2.0, so row-wise combination now relies on pandas.concat.
The change shifts from a method style API to a function that returns a new object and aligns columns by name, filling missing values with NaN. The migration assumes control over the pandas runtime and needs to preserve row order, index continuity, and dtype stability across concatenated frames with potentially different schemas.
Uncertainty remains about semantics when the original code relied on append's default behavior for indexes and column union.
What semantics does pandas.concat provide for ignore_index compared to the former append default? How does column alignment and NaN filling differ from append when schemas diverge? Are there dtype upcasting risks when concatenating frames with mixed dtypes that append previously tolerated?