Chapter 18. Combining Datasets: concat and append
Some of the most interesting studies of data come from combining
different data sources. These operations can involve anything from very
straightforward concatenation of two different datasets to more
complicated database-style joins and merges that correctly handle any
overlaps between the datasets. Series and DataFrames are built with
this type of operation in mind, and Pandas includes functions and
methods that make this sort of data wrangling fast and straightforward.
Here we’ll take a look at simple concatenation of Series
and DataFrames with the pd.concat function; later we’ll
dive into more sophisticated in-memory merges and joins implemented in
Pandas.
We begin with the standard imports:
In[1]:importpandasaspdimportnumpyasnp
For convenience, we’ll define this function, which creates a
DataFrame of a particular form that will be useful in the following
examples:
In[2]:defmake_df(cols,ind):"""Quickly make a DataFrame"""data={c:[str(c)+str(i)foriinind]forcincols}returnpd.DataFrame(data,ind)# example DataFramemake_df('ABC',range(3))Out[2]:ABC0A0B0C01A1B1C12A2B2C2
In addition, we’ll create a quick class that allows us to
display multiple DataFrames side by side. The code makes use of the
special _repr_html_ method, which IPython/Jupyter uses to implement
its rich object display:
In[3]:classdisplay(object):"""Display HTML representation of multiple objects"""template