Python: Divide each row of a DataFrame by another DataFrame vector
pandas, python
Solution
In `df.divide(df2, axis='index')`, you need to provide the axis/row of df2 (ex. `df2.iloc[0]`).
import pandas as pd
data1 = {"a":[1.,3.,5.,2.],
"b":[4.,8.,3.,7.],
"c":[5.,45.,67.,34]}
data2 = {"a":[4.],
"b":[2.],
"c":[11.]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
df1.div(df2.iloc[0], axis='columns')
or you can use `df1/df2.values[0,:]`
Problem
I have a DataFrame (df1) with a dimension `2000 rows x 500 columns` (excluding the index) for which I want to divide each row by another DataFrame (df2) with dimension `1 rows X 500 columns`. Both have the same column headers. I tried: `df.divide(df2)` and `df.divide(df2, axis='index')` and multiple other solutions and I always get a df with `nan` values in every cell. What argument am I missing in the function `df.divide`?