Python でプロ並みのプロットを作成する方法

in tech

Excel やその他のスプレッドシートは、シンプルなグラフィックを作成できるため、ビジネス現場で広く使用されています。レポートやプレゼンテーションを次のレベルに引き上げたい場合は、Python を学習して、群衆の中で目立つように強力なビジュアライゼーションを作成することを検討するとよいでしょう。

初期設定

Python ツールボックスの作成

Python でプロットを作成するには、適切なパッケージを使用して環境をセットアップする必要があります。これらには次のものが含まれます。

これらはライブラリではありませんが、IPython と Jupyter を使用すると、Python でのデータ操作がはるかに簡単になります。 IPython はインタラクティブな Python を強化し、Jupyter Notebooks は作業を簡単に追跡し、他のユーザーと共有できるようにします。

これらのツールをインストールするには、Python 環境を管理できるツールを使用するのが最善です。最近お気に入りのツールはPixiです。 Pixi は、macOS、Linux、Windows 上の PowerShell など、端末ベースのシステム用の Pixi Web サイトの手順に従ってインストールできます。

Pixi をインストールしたら、環境をインストールできます。これらはすぐに使用できるようにする必要があるため、グローバル環境にインストールできます。

pixi global install --environment graphics --expose jupyter --expose ipython jupyter numpy pandas seaborn matplotlib ipython

これにより、Jupyter、IPython、NumPy、Seaborn、および Matplotlib がインストールされます。 Matplotlib は Seaborn の依存関係であるため、いずれにせよインストールされているはずですが、いくつかのコマンドを Matplotlib に直接発行するため、使用できることを確認する必要があります。の --expose このオプションは、Pixi に IPython の実行可能ファイルを Jupyter で利用できるようにするよう指示します。

クイズ
8 つの質問 · あなたの知識をテストしてください

Python プログラミングの基礎
トリビアチャレンジ

リストからループを把握していると思いますか? Python の知識をテストしてみませんか。

構文データ型機能ループ基本

「Hello, World!」を印刷する正しい方法は次のうちどれですか。 Python 3では?

正しい! Python 3 では、print は関数であるため、かっこが必要です。これは、実際には、print がステートメントであり、それらを必要としなかった Python 2 との重要な違いの 1 つです。

完全ではありません。正解は print(‘Hello, World!’) です。 Python 3 は print を関数として扱います。括弧なしで print を記述できる Python 2 とは異なり、括弧が必要です。

Python で式 type(3.14) が返すデータ型は何ですか?

正しい! Python は 10 進数を表すために float 型を使用します。他の言語とは異なり、Python には個別の ‘double’ 型がありません。Python の浮動小数点数は実際にはデフォルトで倍精度です。

完全ではありません。答えはフロートです。 Python は 10 進数を表すために float を使用します。内部では倍精度であるにもかかわらず、Python には Java や C++ のような個別の ‘double’ 型がありません。

Python で 1 行のコメントを記述するにはどのような記号が使用されますか?

正しい!ハッシュ記号 (#) は、Python の単一行のコメントを示します。その行のその後に書かれたものはすべてインタプリタによって無視されるため、コード内のメモや説明に最適です。

完全ではありません。 Python では、単一行のコメントに # 記号を使用します。 // スタイルは JavaScript や C++ などの言語で使用されますが、 — は SQL や Lua で一般的です。

次の Python データ構造のうち、不変なものはどれですか?

正しい!タプルは不変です。つまり、タプルの内容は作成後に変更できません。これにより、リストとは異なり、変更すべきではないデータを保存するのに便利であり、辞書キーとして使用することもできます。

完全ではありません。答えはタプルです。 Python ではタプルは不変であるため、一度作成すると、その要素を追加、削除、または変更することはできません。リスト、セット、辞書はすべて変更可能であり、自由に変更できます。

次のコードは何を出力しますか? range(3) の i の場合: print(i)

正しい! Python の range(3) は、0 から始まり 3 までの数値を生成します。つまり、0、1、2 が生成されます。このゼロベースのインデックス付けは、Python および最新のプログラミング言語の基本的な概念です。

完全ではありません。答えは 0、1、2 です。Python の range() 関数はデフォルトで 0 から始まり、指定された数値の前で停止するため、range(3) は 1、2、3 ではなく 0、1、2 を生成します。

Python で関数を定義するために使用されるキーワードはどれですか?

正しい! Python では、def キーワードを使用して関数を定義します。これは「define」の略で、その後に関数名、パラメーターを表す括弧、および関数本体を開始するコロンが続きます。

完全ではありません。正しいキーワードは def です。 Python は物事を簡潔に保ちます。def は「define」の略であり、標準関数を作成するために使用される唯一のキーワードです。 「関数」という単語自体は Python のキーワードではありません。

Python での次の式の出力は何でしょうか?ブール(0)

正しい! Python では、0 は「偽」とみなされ、bool(0) は False を返します。その他の偽の値には、空の文字列、空のリスト、None、および 0.0 が含まれます。ゼロ以外の数値はすべて True と評価されます。

完全ではありません。答えは「偽」です。 Python は 0 を偽の値として扱うため、これをブール値に変換すると False になります。この真の値と偽の値の概念は、Python の条件式で広く使用されています。

Python の「len()」関数は何をするのでしょうか?

正しい! len() 関数は、文字列内の文字数やリスト内の要素数など、オブジェクト内の項目の数を返します。これは、Python で最も頻繁に使用される組み込み関数の 1 つです。

完全ではありません。答えは、len() がオブジェクト内の項目の数を返すということです。たとえば、len(‘Python’) は 6 を返し、len((1, 2, 3)) は 3 を返します。最大の要素を見つけるには、代わりに max() 関数を使用します。

チャレンジ完了

あなたのスコア

/ 8

遊んでくれてありがとう!

折れ線グラフ

時系列をプロットする

Seaborn を使用すると折れ線グラフを作成できます。まず、IPython または Jupyter を使用して、インストールしたばかりのライブラリをインポートする必要があります。

import numpy as np
import pandas as pd
import seaborn as sns
sns.set_theme()
import matplotlib.pyplot as plt

最初の 3 行は、短縮名を使用して NumPy、pandas、および Seaborn をインポートします。

Seaborn に含まれる組み込みデータセットの 1 つを使用して、時系列を表す折れ線グラフをデモンストレーションできます。これには、1949 年から 1960 年までの航空便と乗客数のリストが含まれています。

まず、データセットを読み込みます。

flights = sns.load_dataset('flights')

これにより pandas DataFrame が作成され、最初の数行を次のコマンドで調べることができます。 head() 方法:

flights.head()
の "頭" Python で Seaborn から取得したフライト データセット。

次に、X 軸にその年の折れ線グラフを作成し、Y 軸に乗客数を表示します。

sns.lineplot(x='year',y='passengers',data=flights)

グラフが別のウィンドウに表示されます。

X 軸に年、Y 軸に乗客数をとった航空便の折れ線グラフ。時間の経過とともに乗客が増加しています。

チャートは別のウィンドウに表示されます。

棒グラフ

棒グラフを作成することもできます。ニューヨーク市のレストランで、チップとともに請求書の金額を記録したウェイターからの別のデータセットを呼び出します。

tips = sns.load_dataset('tips')

数日間の合計請求額を示す棒グラフを作成します。

sns.catplot(x='day',y='total_bill',kind='bar',data=tips)
毎日のレストランの請求額の棒グラフ。土曜日と日曜日が最も金額が高くなります。

散布図/回帰

もう 1 つの便利な種類のプロットは、散布図と回帰、または傾向線の表示です。これらは統計、データ サイエンス、ビジネスで非常に一般的なため、Seaborn を使用して簡単に作成できます。

x 軸に合計請求額、y 軸にチップを使用して、チップと合計請求額の散布図を作成します。チップは従属変数となり、請求額の合計は独立変数となります。請求額の合計とチップの間に関係があるかどうかを確認したいと思います。

sns.relplot(x='total_bill',y='tip',data=tips)
合計ビル対チップの散布図。x 軸がビル、y 軸がチップです。正の線形関係があるように見えます。

請求額の合計に応じてチップも高額になることに気づくかもしれません。左から右に上がる直線を引くことができます。言い換えれば、両者の間には正の線形関係があるように見えます。請求額が大きいほど、チップも大きくなります。

この散布図を通じて直線、つまり線形回帰直線を描くこともできます。このコードは、散布図に使用したコードと非常によく似ています。

sns.regplot(x='total_bill',y='tip',data=tips)
x 軸に請求書、y 軸にチップをとった、チップとレストランの請求書の回帰および散布図。正の線形フィットがあるように見えます。

高校の代数学で覚えたような古典的な y = mx + b 方程式を形成するための傾きや切片など、回帰直線の方程式の値は取得できないことに注意してください。方程式の値を取得する、SciPy や statsmodels などの別のライブラリを使用する必要があります。

タイトルを調整して保存する

ゴールデンタイムに向けてチャートを準備しましょう

プロットはそれ自体では適切に見えますが、グラフやプレゼンテーションに挿入する準備が整っていません。軸自体をより理解しやすくするために、軸のラベルを変更する必要がある場合があります。

Seaborn ではなく、基礎となる Matplotlib ライブラリを呼び出します。チップと請求書の回帰プロットを公開したいとします。これをレポートに含める場合にどのようにクリーンアップするかを次に示します。先ほどの回帰プロットのコードを使用しますが、Matplotlib を使用してタイトルを追加し、軸のラベルを変更します。

sns.regplot(x='total_bill',y='tip',data=tips)
plt.title("Tip vs. total bill in a New York City restaurant")
plt.xlabel("Total bill (USD)")
plt.ylabel("Tip (USD)")
plt.show()

これにより、タイトルが追加され、軸のアンダースコアが削除され、金額が米ドルであることが明確になります。

ラベルを変更したヒント対請求回帰および散布図。

プロットを保存するには、 保存 ポップアップされたウィンドウ内の アイコンをクリックするか、次のコマンドを使用できます。

plt.savefig('/path/to/file')
保存ボタンが赤で強調表示された Matplotlib ウィンドウ。

これを文書またはプレゼンテーションにドロップできます。 Matplotlib は、PNG を含む多くの一般的な形式をサポートしています。


Python で見栄えの良いグラフを簡単に作成できます

Python を学ぶには少し時間がかかるかもしれませんが、少しの努力で、次のプレゼンテーションやレポートを活気づける出版品質のプロットを作成できます。言葉や数字が正しいかどうかを確認するのと同じくらい、視覚化にも力を注ぐべきではないでしょうか?

デル XPS 13 プラス 2023

オペレーティング·システム

Ubuntu Linux 22.04 LTS

CPU

第13世代インテル Core i7-1360P

GPU

インテル Iris Xe グラフィックス

ラム

16GB DDR5

ストレージ

512GB SSD

重さ

2.71ポンド

Dell XPS 13 Plus with Linux は、強力なハードウェアと優れた画面を軽量で見栄えの良いシャーシに組み合わせ、素晴らしい Linux ラップトップを作成します。


関連情報は以下のリンクからご確認いただけます

公式情報はこちら

関連記事

前の投稿
深夜のスマートホームのイライラを解消するために、NFCタグをナイトスタンドの下に置きました
次の投稿
すべての ESP32 ボードが同じように作られているわけではありません。メーカーが実際に重要である理由はここにあります