2016-08-09 6 views
2

Für Daten des FormularsPandas - propogating Varianz

mean   var    count 
31.5910645161 747.570011484 310 
45.7   350.0658  2 
77.2548205128 4968.46005809 195 
166.830361446 13755.5734253 166 
40.29   208.8968  2 
254.35   15204.1922  2 
4.81   0.0    1 
56.0124200913 962.697805171 1533 
114.25   0.0    1 
24.12   422.257129412 18 

, wo es eine viele mehr Wiederholungen des Grafen später. Ich brauche groupby('count').agg('mean','var'), um die Abweichung richtig zu verbreiten. Dieser Code funktioniert jedoch nicht (Mittelwert und Var wissen nicht, was mit den 2 Spalten zu tun ist), und natürlich kommt nur die Verwendung von Mittelwert nicht in Frage (der Mittelwert der Varianz ist nicht die Varianz des Mittelwerts). Wie machst du das so, dass die Varianz richtig gesendet wird?

+0

Wie Sie rechtfertigen die Berechnung der Mittelwert und die Varianz der Varianz? Sie können Varianzen nicht einfach weiterleiten. Probieren Sie es mathematisch aus, schreiben Sie die Varianzformel und versuchen Sie, die Varianz eines Straußes der Varianzformeln zu berechnen, und sehen Sie, ob Sie daraus die Varianzformel der gesamten Gruppe ableiten können. – Kartik

+0

@Kartik Mittelwert ist nur Zahl, der Wert des Tuns hat etwas Bedeutung abhängig davon, wie es verwendet wird. – Merlin

+0

@Merlin, keine Bedenken über meinen. Sie können nicht den Mittelwert und die Varianz der Varianz annehmen und erwarten, dass sie sich über alle Stichproben erstreckt. Es gibt komplexe Methoden, Varianzen zu kombinieren. Dieses Problem tritt immer beim Bootstrapping, Jackknifing und ähnlichen statistischen Verfahren auf. Mit anderen Worten, Mittelwert und Varianz der Stichprobenmittel gelten, Mittelwert und Varianz der Stichprobenvarianzen sind jedoch bedeutungslos. – Kartik

Antwort

0
Parameters 
---------- 
arg : function or dict 
    Function to use for aggregating groups. If a function, must either 
    work when passed a DataFrame or when passed to DataFrame.apply. If 
    passed a dict, the keys must be DataFrame column names. 

    Accepted Combinations are: 
     - string cythonized function name 
     - function 
     - list of functions 
     - dict of columns -> functions 
     - nested dict of names -> dicts of functions 

Sie bestanden zwei Strings, wenn Sie eine Liste von Zeichenketten passieren benötigt.

df.groupby('count').agg(['mean','var']) 

enter image description here

+0

Dies behebt es von einem Ausführungsstandpunkt (in dem es läuft), aber wie interpretierst du das? Offensichtlich hat das Var-Mittel keine Bedeutung, aber was machst du mit der mittleren var (die nur die var des vorherigen Mittelwerts ist) und der var der var, oder möglicherweise mit der vorherigen var und einigen Operationen mit der neuen var. – Elliot

+0

@Elliot hängt die Interpretation von der Domäne ab. Die Varianz der Varianz hat im richtigen Kontext Bedeutung. Mittel auch. Dies ist jedoch nicht aktuell für Stackoverflow. Dies ist eine Frage-und-Antwort-Seite zum Thema Codierung. Nicht Interpretationen missbrauchter Statistiken. – piRSquared