pandasよく使う機能メモ

★DataFrame操作

import pandas as pd
 
dict_test = [
    {
        'time''2020',
        'id'1,
        'name''s1'
    },
    {
        'time''2021',
        'id'2,
        'name''s2'
    }
]
  • DataFrame作成
df_test = pd.DataFrame(dict_test)
 
 time id name
0 2021 1 s1
1 2020 2 s2
  • 列をindexに設定
df_test = df_test.set_index('time')
 
  id name
time
2021 1 s1
2020 2 s2
  • indexでsort
df_test = df_test.sort_index(ascending=True)
 
 id name
time
2020 2 s2
2021 1 s1
  •  列名の条件で列抽出 
df_name = df_test.loc[:, df_test.columns.str.endswith('name')]
 
  name
time
2020 s2
2021 s1

 

 

pythonメモ:import時のpathとカレントディレクトリ

ディレクトリにある自作モジュールをimportし、そのモジュールが同フォルダの自作モジュールをimportする場合

 

ディレクトリ構成

main.py

mymodules

      |
     +--- module1.py

      |
     +--- module2.py

 

最初の呼び出し元で 

#main.py
import sys
sys.path.append('mymodules')

のようにpathを追加しておくと、呼び出し先でも追加したpathが引き継がれている(というか最初のスクリプト実行時の環境のまま、モジュールの処理を挟み込んでるだけか)のでそのままimportできる。

#module1.py
import module2

なお呼び出した別ディレクトリのモジュール内の処理でも、カレントディレクトリは呼び出し元のまま変わらない。

 

また、 import先のグローバルで定義した変数は呼び出し元では使えない

Windows 10 Home で multipass~kubeflow

下の続きかも

windows10 home でmultipass~microk8s - 十分に発達した科学技術は

 

multipassのインスタンスは以下のコマンドで見える

> multipass list

インスタンス削除

> multipass delete インスタンス

 

基本的には以下のサイトを参照

Kubeflow入門 - Qiita

kubeflow用にインスタンスを立てる。

$ multipass launch bionic -n kubeflow -m 8G -d 40G -c 4

インスタンスに入る

$ multipass shell kubeflow

microk8sのセットアップ

$ git clone https://github.com/canonical-labs/kubernetes-tools
$ sudo kubernetes-tools/setup-microk8s.sh
$ sudo microk8s.enable gpu # GPUを使う場合
$ sudo kubernetes-tools/expose-dashboard.sh # k8s dashboard を使う場合

 

動いてるサービスの確認

$ kubectl get svc

 

k8sのノード情報取得(ExternalIPも設定されてれば出てくるはず)

$ kubectl describe node 

 

今回のようにmultipassを使ってる場合、以下のコマンドでIP等確認できる

リスト取得(名前がわからない場合)

> multipass list 

情報取得

> multipass info 名前

ただし外部IPが割り当てられてない場合もある

 

kubeflowの確認

> sudo microk8s.kubectl -n kubeflow get all

 

その他multipassのTips

https://gihyo.jp/admin/serial/01/ubuntu-recipe/0590?page=3

 

 

windows10 home でmultipass~microk8s

まずはここから

MicroK8s - Fast, Light, Upstream Developer Kubernetes

Maltipassをダウンロードしてインストール。

 

Maltipassはデフォルトでhyper-Vを使おうとするが、Windows10 homeではhyper-Vが使えないので、以下のコマンドで設定されてを変更する(その前にvirtualboxのインストールが必要)。※実行するコマンドプロンプト等は管理者権限で起動しておくこと。

> multipass set local.driver=virtualbox

再び上のURLの手順に戻って、

multipassのインスタンス作成

> multipass launch --name microk8s-vm --mem 4G --disk 40G

インスタンスに入る

> multipass shell microk8s-vm

microk8sのスナップをインストール

> sudo snap install microk8s --classic

ステータスチェック

> sudo microk8s.status --wait-ready

参考:ダッシュボードのサービスをオン

sudo microk8s.enable dns dashboard registry

オフ

sudo microk8s.disable dns dashboard registry