###前提・実現したいこと
お世話になります.
非常に初歩的な質問なんですが,例えば次のようなデータの絶対値を求めるにはどうしたら良いのでしょうか?
x y z 1 1 1 2 2 2 3 3 3
xとyとzの値をそれぞれ平方して足して,その値の平方根を求めて新しい列に加えたいです.(x^2+y^2+z^2のルートを計算する)
アウトプットとしては次のとおりです.
x y z result 0 1 1 1 1.73205 1 2 2 2 3.46410 2 3 3 3 5.19615
一応下記のここのドキュメント
を見たのですが,それらしい関数がありませんでした.
(それらしいのが有るのかもしれませんが分かりませんでした.)
###試したこと
力技で下記のように書いてみましたがエラーになりました.
python
1import pandas as pd 2import math 3 4df = pd.DataFrame({'x': [1,2,3], 5 'y': [1,2,3], 6 'z': [1,2,3]}) 7 8def abs(v): 9 ans = math.sqrt(v['x']*v['x']+v['y']*v['y']+v['z']*v['z']) 10 return ans 11 12df['result'] = df.apply(abs) 13print(df)
集約関数などで簡単に出来るのであればご教示願います.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/18 02:21