『Python実践データ分析100本ノック』ノック51〜54
今回は、『Python実践データ分析100本ノック』で学んだことをアウトプットします。
indexがあるcsvの読み込み
indexがあるcsvファイルを、pd.read_csv()で読み込む際、何も指定しないと特にindex列は認識されない。
index列を認識させる場合、index_col=0のようにindexとして使いたい列の列番号を0始まりで指定する。
import pandas as pd
factories = pd.read_csv('tbl_factory.csv', index_col=0)
factories
ノック53:ネットワークを可視化してみよう
ネットワークの可視化に有用なライブラリとしてはNetworkXというものがあります。
import networkx as nx
import matplotlib.pyplot as plt
# グラフオブジェクトの作成
G=nx.Graph()
# 頂点の設定
G.add_node('nodeA')
G.add_node('nodeB')
G.add_node('nodeC')
# 辺の設定
G.add_edge('nodeA', 'nodeB')
G.add_edge('nodeA', 'nodeC')
G.add_edge('nodeB', 'nodeC')
# 座標の設定
pos = {}
pos['nodeA'] = (0, 0)
pos['nodeB'] = (1, 1)
pos['nodeC'] = (0, 1)
# 描画
nx.draw(G,pos)
# 表示
plt.show()
まず、グラフオブジェクトを宣言し、頂点(nodeA、nodeB、nodeC)とそれをつなぐ辺を設定します。次に、頂点の座標位置を設定し、関数drawを用いて描画します。画面上の表示は、matplotlibの関数showを用います。
ノック54:ネットワークにノードを追加してみよう
上記で作成したグラフに、新たに頂点nodeDを追加してみましょう。
G.add_node('nodeD')
G.add_edge('nodeA', 'nodeD')
pos['nodeD'] = (1, 0)
nx.draw(G, pos, with_labels=True)
ノック53と同様に、add_nodeで頂点を追加した上で、既存の頂点とのリンクをadd_edgeによって作成します。位置はdict形式のposに追加します。
最後にdrawによってネットワークを可視化するのですが、ここでは、引数にwith_labels=Trueを加えることで、頂点につけられた名前(ラベル)を表示しています。
今回の学びのまとめ
○indexがあるcsvファイルを読み込む際、index列を認識させたい場合は、index_col=0のようにindexとして使いたい列の列番号を0始まりで指定
○Networkxでネットワークを可視化する手順は以下の通り。
1.グラフオブジェクトを宣言
2.頂点とそれをつなぐ辺を設定
3.頂点の座標位置を設定
4.関数drawを用いて描画。画面上の表示は、matplotlibの関数showで。
○draw関数の引数にwith_labels=Trueを加えることで、頂点につけられた名前(ラベル)を表示することができる。
サポート、本当にありがとうございます。サポートしていただいた金額は、知的サイドハッスルとして取り組んでいる、個人研究の費用に充てさせていただきますね♪