I have the following problem: I have two pandas data frames of different length containing some rows and columns that have common values and some that are different, like this:<
Looks like you're looking for something like a left-join. See if this example helps: http://pandas.pydata.org/pandas-docs/stable/comparison_with_sql.html#left-outer-join
You can basically pass a parameter to merge() called how='left'