Wie finde ich den Mittelwert einer Liste in Python?
[1, 2, 3, 4] 2.5
Wie finde ich den Mittelwert einer Liste in Python?
[1, 2, 3, 4] 2.5
Oder verwenden Sie pandas
's Series.mean
Methode:
pd.Series(sequence).mean()
Demo:
>>> import pandas as pd
>>> l = [15, 18, 2, 36, 12, 78, 5, 6, 9]
>>> pd.Series(l).mean()
20.11111111111111
>>>
Aus den Unterlagen:
Series.mean(axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
¶
Und hier ist die Dokumentation dazu:
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.mean.html
Und die gesamte Dokumentation:
Ich hatte eine ähnliche Frage in einer Udacity-Aufgabe zu lösen. Anstelle einer eingebauten Funktion habe ich codiert:
def list_mean(n):
summing = float(sum(n))
count = float(len(n))
if n == []:
return False
return float(summing/count)
Viel länger als üblich, aber für einen Anfänger eine ziemliche Herausforderung.
Wenn Sie mehr als nur den Mittelwert (aka Durchschnitt) erhalten möchten, könnten Sie sich Scipy Stats ansehen:
from scipy import stats
l = [15, 18, 2, 36, 12, 78, 5, 6, 9]
print(stats.describe(l))
# DescribeResult(nobs=9, minmax=(2, 78), mean=20.11111111111111,
# variance=572.3611111111111, skewness=1.7791785448425341,
# kurtosis=1.9422716419666397)
Beide können annähernd ähnliche Werte für eine ganze Zahl oder mindestens 10 Dezimalwerte liefern. Wenn Sie aber wirklich lange Gleitkommawerte in Betracht ziehen, können beide unterschiedlich sein. Die Herangehensweise hängt davon ab, was Sie erreichen wollen.
>>> l = [15, 18, 2, 36, 12, 78, 5, 6, 9]
>>> print reduce(lambda x, y: x + y, l) / len(l)
20
>>> sum(l)/len(l)
20
Fließende Werte
>>> print reduce(lambda x, y: x + y, l) / float(len(l))
20.1111111111
>>> print sum(l)/float(len(l))
20.1111111111
@Andrew Clark hatte mit seiner Aussage recht.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.