Does pandas (or another module) have any functions to support merge (or join) two tables based on multiple keys?
For example, I have two tables (DataFrames) a<
To merge by multiple keys, you just need to pass the keys in a list to pd.merge:
>>> pd.merge(a, b, on=['A', 'B'])
A B value1 value2
0 1 1 23 0.10
1 1 2 34 0.20
2 2 1 2342 0.13
3 2 2 333 0.33
In fact, the default for pd.merge is to use the intersection of the two DataFrames' column labels, so pd.merge(a, b) would work equally well in this case.