Python Class(クラス)インスタンスからDictに変換

Python Class(クラス)インスタンスからDictに変換

Pythonクラスインスタンスから Dictに 変換するコード例です。

下のような クラスを用意しました

class UserRow:
    def __init__(self, id, name):        
        self.name = name
        self.id = id

このUserRow クラス インスタンスを使った変数を用意し print()すると 下記のように 表示されます

print()してもクラスの中身は見れません

中身を表示したい場合、 dictに変換すると print()でも表示できます。

dict に変換しprint()

vars()を 使えば dict型の変数に 変換できます

class UserRow:
    def __init__(self, id, name):        
        self.name = name
        self.id = id

user_row = UserRow(123,"my name") #クラスインスタンス作成
user_dict = vars(user_row) #varsで クラスインスタンスからdict型変数へ変換
print(user_dict)

結果、 「{‘name’: ‘my name’, ‘id’: 123}」←のように表示されました

Pythonのデコレータ(@記号)を初心者向けに解説!

pygameの機能とインストール方法

PythonでTOTP・HOTPを実装する方法|ワンタイムパスワード

Python ブラウザ指定し自動で開く!webbrowserモジュール完全ガイド

Pythonでmoricons.dllのアイコンをPNGとして抽出する方法

PDFファイル結合|パスワード設定ツール

PNGファイルから半透過対応マルチアイコン作成(favicon.ico|Windowsアイコン)


playsoundではなくpygameを選ぶ理由とは?

pydubで簡単なリズムを作ってmp3保存する方法|audioopエラー対策

pyttsx3のインストール方法と使い方|音声合成で日本語を喋らせる&音声ファイルに保存

Python networkxでグラフ構造を簡単に可視化・解析する方法

networkxの基本的な使い方

Pythonでグラフ構造(ノードとエッジからなるネットワーク)を扱いたいなら、networkxは非常に便利なライブラリです。

networkxとは何か、どんな用途に使えるのか、そして基本的な使い方についてと、最短経路の探索や中心性の計算といった解析もサンプルコード付きで紹介


✅ networkxとは?どんなことができるの?

networkxは、グラフ(ネットワーク)構造をPythonで扱うためのライブラリです。以下のような分野で活用されています:

  • ソーシャルネットワーク分析(SNSのユーザー関係)
  • 道路・交通ネットワークの最適化
  • 通信・電力ネットワークの構造解析
  • 知識グラフや推薦システムの基盤構築

🔰 networkxのインストール方法

まずはpipでインストールしましょう:

pip install networkx

🛠️ networkxの基本的な使い方

1. グラフの作成とノード・エッジの追加

import networkx as nx
import matplotlib.pyplot as plt

# 無向グラフの作成
G = nx.Graph()

# ノードとエッジの追加
G.add_nodes_from(["A", "B", "C", "D"])
G.add_edges_from([("A", "B"), ("B", "C"), ("C", "D")])

# グラフの可視化
nx.draw(G, with_labels=True)
plt.show()

2. グラフ構造の確認

print("ノード一覧:", G.nodes())
print("エッジ一覧:", G.edges())
print("各ノードの次数:", dict(G.degree()))

🔍 グラフの解析も簡単に!

3. 最短経路の計算

path = nx.shortest_path(G, source="A", target="D")
print("AからDへの最短経路:", path)

4. ノードの中心性(centrality)の計算

centrality = nx.degree_centrality(G)
print("各ノードの中心性スコア:", centrality)

🌐 他にもできること一覧

機能説明
有向グラフの作成nx.DiGraph()を使えば方向付きのエッジを持つグラフも作成可能
重み付きグラフエッジにweight属性を付けて、コストや距離を表現
ネットワークアルゴリズムPageRank、最大フロー、クラスタリングなどもサポート
グラフの保存・読み込みGML、GraphML、JSON形式での保存と読込が可能

networkxはPythonでネットワーク分析を行う強力ツール

networkxを使えば、Pythonでネットワークの可視化、解析、探索などが直感的に行えます。特にソーシャルグラフ、インフラネットワーク、推薦アルゴリズムなど、現代の多くのアプリケーションに応用可能です。

MBTI診断 | あなたの性格タイプを分析

【初心者向け】Google Colabでfilechooserライブラリを使ってファイル選択を簡単にする方法【Python】

filechooser ライブラリを使って、直感的にファイルを選択・読み込む方法を解説

Pythonでデータ分析や機械学習をしていると、ローカルのファイルを読み込む機会は多いですよね。特に、Google Colabを使っていると「どうやってローカルファイルを読み込めばいいの?」と迷うことも多いはず。

Google Colabで便利に使える filechooser ライブラリを使って、直感的にファイルを選択・読み込む方法を解説します。


✅ Google Colabとは?

Google Colab(正式名称:Google Colaboratory)は、Googleが提供するクラウド型のPython実行環境です。Jupyter NotebookのようなUIで、Pythonコードを手軽に実行できます。最大のメリットは、gmailのアカウントを持っていてPCのブラウザさえあればすぐ使えること。そして、Googleドライブとの連携が簡単なことも特徴です。


🎯 filechooserライブラリとは?

Google Colabでは通常、以下のように google.colab.files.upload() を使ってファイルをアップロードします:

from google.colab import files
uploaded = files.upload()

しかし、これではファイルを選ぶたびに毎回アップロードが必要で、少し不便ですよね。

そこで便利なのが、filechooser モジュール。これは Google Colab 専用のインターフェースで、対話的にファイルを選択できるようになります。

files.upload()実行

🚀 filechooserの使い方

1. インポートする

まずはColabのノートブックに以下を記述します:

from google.colab import filechooser

2. ファイル選択ダイアログを表示

次に、ファイルを選択するには以下のコードを実行します:

file_path = filechooser.choose_files()
print(file_path)

これを実行すると、GUI形式のファイル選択ウィンドウが表示され、選択したファイルのパスを取得できます。


📂 ファイルの読み込みまでの一連の流れ

選んだファイルを実際に開いてデータを読み込みたい場合、以下のようにします(例:CSVファイル):

import pandas as pd

file_path = filechooser.choose_files()
df = pd.read_csv(file_path[0]) # 複数ファイルのうち最初の1つを読み込む
df.head()

これだけで、ローカルにあるCSVファイルをGoogle Colab上で読み込めます!


⚠️ 注意点

  • filechooserはGoogle Colabでのみ動作します。Jupyter NotebookやVSCodeでは使えません。
  • 取得できるのは一時的な仮想パスなので、セッションが切れると再度選択が必要です。
  • 複数ファイルを選択した場合、リスト形式で返されます。

🆚 files.upload() との違い

機能files.upload()filechooser
ファイル選択UIあり(アップロード)あり(選択)
複数ファイル選択
ファイル読み込み方法バイナリパスで取得
使用環境Colab専用Colab専用

どちらも用途に応じて使い分けるのがベストです。


Google Colabでローカルファイルを使いたいとき、filechooserライブラリを使えばGUIでファイルを選択できて非常に便利です。

  • from google.colab import filechooser でインポート
  • choose_files() でファイルを対話的に選択
  • ✅ 取得したファイルパスでPandasなどと連携