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>
ここで彼の無料メールアカデミーに参加することができます。