Я пытаюсь применить функцию к строкам DataFrame с аргументом apply args. Я вижу multiplesimilarquestions, но следующие решения, похоже, не сработают. Я создал пример.pandas применить функцию с аргументами no lambda
Здесь я разделю dataframe на сумму столбцов
pij=pd.DataFrame(np.random.randn(500,2))
pij.divide(pij.sum(1),axis=0).head()
0 1
0 1.077353 -0.690463
1 0.608302 0.583209
2 -0.724272 -1.665318
3 -0.735404 -0.606744
4 -0.033409 -0.162695
Я знаю, как использовать лямбда, чтобы вернуть тот же результат
def lambda_divide(row):
return row/row.sum(0)
pij.apply(lambda row: lambda_divide(row), axis=1).head()
0 1
0 1.077353 -0.690463
1 0.608302 0.583209
2 -0.724272 -1.665318
3 -0.735404 -0.606744
4 -0.033409 -0.162695
Однако, когда я пытаюсь использовать применить аргументы , он не работает
pij.apply(np.divide,args=(pij.sum(1)))