, поскольку это просто простое деление двух фреймов данных одинаковой формы (или вы можете сформулировать его как таковой), вы можете использовать простой /
-оператор, pandas выполнит его поэлементно (возможно, с репликацией, если фигуры не не подходит, так что будьте уверены в этом):
import pandas as pd
df1 = pd.DataFrame([[1,2], [3,4]])
df2 = pd.DataFrame([[2,2], [3,3]])
df_new = df1 / df2
#>>> pd.DataFrame([[0.5, 1.],[1., 1.3]])
это, скорее всего, внутреннее выполнение тех же операций, которые вы указали в своем примере, однако внутренние назначения и проверки обходятся, что должно дать вам некоторую скорость
EDIT:
Я ошибся в плане вашей проблемы; может быть, в следующий раз добавим минимальный автономный код Тем не менее /
-оператор также работает для Dataframes и Series в комбинации:
import pandas as pd
df = pd.DataFrame([[1,2], [3,4]])
s = pd.Series([1,2])
new_df = df / s
#>>> pd.DataFrame([[1., 3.],[1., 2]])