コードに別の方法があるかどうか疑問に思っていた この問題の中核は、ファイルを読み込んでリスト。そして、あなたが持っているだろうどこに:Python 3.4ファイルを介してモード、中間値を計算する
a = [1,2,3,4,5,6,1,1,1,1]
import statistics
listMode = statistics.mode(a) # median, average, etc...
を私は読んで、私はその場でモードを計算することができるかどうか、疑問に思うの代わりに、(それが非常に大きくなることがようにメモリ)a
でこれらの値を保存するために持っていましたファイルを作成し、新しい行を読むたびに1つの値を更新します。つまり、段階的に中央値と平均を計算します。結局私はa = [mode,median,average]
を持っていたので。
非常に大きなデータセットであっても、このような単純な操作は非常に長く見えないため、「オンザフライ」を計算する理由は見当たりませんが、最後にすべてを実行する理由はありません – TheLazyScripter
「インクリメンタル」必須?ファイルを一度だけ読み取る場合は、データセット内の各固有値ごとに少なくとも値とカウントを格納する必要があります。ファイル内の値の数と同じ回数だけファイルを読み取ることができれば、必要なストレージはダウンしますが、実行時間は急激に増加します。 – Simon
私は非常に平準化されたネストされた辞書を持っており、巨大なリストを持たないことを望んでおり、同じトークンで私は多くの変数に対してこれをやりたいと思っています。パフォーマンスが重要な問題になった場合、そのオプションがクリアされます。しかし、私はモードとメジアンの仕事に失敗しました。平均はずっと簡単で改善を経験しました。 – FancyDolphin