スプレッドシートではかなり簡単に思えますが、私はパンダの構文を理解できません。グループ化できるデータセットがあります。各グループの集計統計を特定したいが、その集計を使用して元のデータフレームに新しい列を作成する。例えばパンダを使用して元のデータフレームにgroupby集約を適用する
、私のデータフレームは次のように見える場合:
d = pandas.dataframe({'class', : ['f1', 'f2', 'f3', 'f1'],
'user': ['jack', 'jen', 'joe', 'jan'],
'screen': [12, 23, 13, 15] })
はい、その私のデータが
は私が
d['gp'] = d['screen'].apply(d.groupby('class').stdev())
と保証するような何かをしたいと思います設定よりもはるかに小さいですd.groupby()。stdev()は実際にその行のそのクラスのstdevです。言い換えれば、f2クラスのgpを計算するときに、クラスf1のstdevを使用したくないのです。
私の脳は、スプレッドシートモードやPython for Loopで考えています。これを行うにはシンプルなパンダの構文が必要であることは知っていますが、これまでのところ私の検索には私のユースケースに合ったものは見つかりませんでした。
正確に。私は同じ手紙を持っていた私の手紙 – Dark
かなり。元のデータフレームに適用する集計操作が必要です。しかし、それぞれのグループは、グループごとにop(mean、std dev)を計算しなければなりません。つまりグループは –
です。d ['screengrade'] = d.groupby( 'class')['screen']が必要です。ラムダx:x /(x.std()+ x.mean())* 200) '?私は電話しかないので、テストされていない。 – jezrael