Pythonでリストのリストを平均化する方法は?

問題:リストのリストがあり、異なる列の平均を計算したい。

例。

data = , , , ]

あなたは、3つの列の平均値を持つリストの次のリストが与えられた:


この問題を解決する3つのメソッドがあります。

目次

方法1: Pythonでの平均 (ライブラリなし)

リスト内包とzip()関数の組み合わせによる単純なワンライナーが、リストのリストの転置をPythonで実行します。

data = , , , ]# Method 1: Pure Pythonres = print(res)# 

Python のワンライナーは好きですか? 私は確かにそうです。私は、サンフランシスコの出版社 NoStarch と共に、それについての本全体を書き上げました。

このコードの実行とメモリオブジェクトを次のツールで視覚化できます(「次へ」をクリックすると、コードの1ステップがどのように展開されるかを見ることができます)。

data = , , , ]# Method 2: NumPyimport numpy as npa = np.array(data)res = np.average(a, axis=0)print(res)# 

平均関数のaxis引数は、どの軸に沿って平均値を計算したいかを定義します。 もし、列の平均をとりたいなら、axis=0を定義します。 行の平均を取りたい場合は、axis=1を指定します。 すべての値の平均を取りたい場合は、この引数を省略する。

方法3:平均統計ライブラリ + Map()

別の選択肢を示すために、map() 関数と zip(*data) 「行列」 data を転置するトリックを使用したものを紹介します。

data = , , , ]# Method 3: Statistics + Map()import statisticsres = map(statistics.mean, zip(*data))print(list(res))# 

map(function, iterable)関数は、iterableの各要素にfunctionを適用します。 別の方法として、このチュートリアルの方法1で示したように、リスト内包を使うこともできます。 実際、Pythonの生みの親でPython’s benevolent dictator for life (BDFL) のGuido van Rossumはmap()関数よりリスト内包を好んで使っています。

ここからどこへ行くのか?

理論はもう十分なので、実践してみましょう!

コーディングで成功するには、現場に出て、実際の人々のために実際の問題を解決する必要があります。 それが、6桁の収入を簡単に得られるようになる方法です。 そして、そうやって、本当に必要なスキルを実践で磨いていくのです。

実践的なプロジェクトは、コーディングの鋸を研ぐ方法です!

実際にお金を稼ぎ、人々の問題を解決する実践的なコードプロジェクトに集中して、コードマスターになりたいですか?

それなら、Pythonフリーランスの開発者になりましょう!

無料ウェビナー「高収入スキルPythonの作り方」に参加して、私がどのようにオンラインでコーディングビジネスを成長させたか、そしてあなたもできる方法を、ご自宅の快適さから見てみてください。

Christian Mayer博士は、分散システムの研究者として働いている間に、コンピュータサイエンスの学生に教えることに愛着を持ちました。

Pythonで学生が高いレベルの成功に到達できるように、彼はプログラミング教育WebサイトのFinxter.comを設立しました。 彼は、人気のプログラミング本 Python One-Liners (NoStarch 2020) の著者であり、自費出版本の Coffee Break Python シリーズの共著者、コンピュータサイエンスの愛好家、フリーランサー、そして世界でトップ 10 に入る規模の Python ブログの所有者です。

彼の情熱は書くことと読むこととコーディングすることです。 しかし、彼の最大の情熱は、Finxterを通じて意欲的なコーダーを支援し、彼らのスキルを向上させることです。 9009>

ここで彼の無料メールアカデミーに参加することができます。

コメントを残す

メールアドレスが公開されることはありません。