4
apply args引数を使用してデータフレームの行に関数を適用しようとしています。私はmultiplesimilarquestionsを参照してください、しかし、ソリューションを次のように動作していないようです。私はサンプルの例を作成しました。pandasは引数なしの関数を適用します。lambda
ここで私は私が適用された引数を使用しようとすると、しかし
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=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
で私のデータフレームを分割、それは
pij.apply(np.divide,args=(pij.sum(1)))