Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add/subtract dataframes with different column labels

Tags:

python

pandas

I'm trying to add/subtract two dataframes with different column labels. Is it possible to do this without renaming the columns to align them? I would like to keep the original labels.

like image 288
ethanyu Avatar asked Jul 16 '16 19:07

ethanyu


People also ask

How do I concatenate Dataframes with different column names?

It is possible to join the different columns is using concat() method. DataFrame: It is dataframe name. axis: 0 refers to the row axis and1 refers the column axis. join: Type of join.

Can you subtract two Dataframes?

subtract() function is used for finding the subtraction of dataframe and other, element-wise. This function is essentially same as doing dataframe – other but with a support to substitute for missing data in one of the inputs.


1 Answers

Consider dataframes A and B

A = pd.DataFrame([[1, 2], [3, 4]], ['a', 'b'], ['A', 'B'])
B = pd.DataFrame([[1, 2], [3, 4]], ['c', 'd'], ['C', 'D'])

A

enter image description here

B

enter image description here

Add them together and we have a mess.

A + B

enter image description here

Add their underlying arrays

A.values + B.values

array([[2, 4],
       [6, 8]])

That's closer to what we want.

To get what you asked for, you need to decide which dataframe has the columns and index you want and add the values of the other to the dataframe you chose. Let's say I choose to keep A's indices.

A + B.values

enter image description here

That ought to do it!

like image 164
piRSquared Avatar answered Oct 21 '22 05:10

piRSquared