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.
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.
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.
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
B
Add them together and we have a mess.
A + B
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
That ought to do it!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With