■
[python]pythonお勉強:一次元データの扱い方
pythonお勉強(日経ソフト2018.05)
一次元データの扱い方の基本
>>>import pandas as pd
>>>import numpy as np
>>> s=pd.Series(data=np.random.randint(1,7,100), index=range(0,100))
で1-6の数値をインデックス付きで100個作る。
■配列 s の各要素へのアクセス方法
>>> s
>>> s[99]
>>> s[15:20]
>>> s.head(10)
>>> s.tail(10)
■型を表示
>>> type(s)
■棒グラフで出力
>>> fig = s.plot(kind="bar").get_figure()
>>> fig.savefig("figure1.png")
■統計的な数値を得る
>>> s.describe()
■出現頻度
>>> s.value_counts();
二次元データの扱い方の基本
■sin(), cos() データ生成の例
>>>d=pd.DataFrame(data=[(np.sin(2*np.pi*i/360), np.cos(2*np.pi*i/360)) for i in range(0,360)], columns=("sin", "cos"), index=range(0,360))
■グラフ画像作成
>>> fig=d.plot().get_figure()
>>> fig.savefig("figure2.png")
■内容の確認
head(), tail(), [] など一次元と同様に使用できる
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
その後の複雑な集計(演算?)も、本に書いてあるままに試し始めてみたが、言語も概念も両方がわからない状態で、チンプンカンプンになってしまったので、途中で中止。出直してきます。
■正規分布のランダム100個の座標(x,y)を生成
>>> import numpy as np
>>> import scipy.cluster
>>> import matplotlib.pyplot as plt
>>> a=np.random.multivariate_normal([0,0], [[1.0, 0.0], [0.0, 1.0]], 100)
>>> plt.scatter(a[:,0], a[:,1])
>>> plt.savefig("figure3.png")
>>> b=np.random.multivariate_normal([-5,-5], [[1.0, 0.0], [0.0, 1.0]], 100)
>>> c=np.random.multivariate_normal([ 5, 5], [[1.0, 0.0], [0.0, 1.0]], 100)
>>> src = np.vstack*1
>>> plt.scatter(src[:,0],src[:,1])
>>> plt.savefig("figure4.png")
>>> codebook, distortion = scipy.cluster.vq.kmeans(src, 3)
>>> code, dist = scipy.cluster.vq.vq(src,codebook)
da=[src[i] for i in np.where(code==0)][0]
db=[src[i] for i in np.where(code==1)][0]
dc=[src[i] for i in np.where(code==2)][0]
plt.scatter(da[:,0],da[:,1])
plt.scatter(db[:,0],db[:,1])
plt.scatter(dc[:,0],dc[:,1])
plt.savefig("figure5.png")
*1:a,b,c
Bash on Windowsの有効化方法
Windows subsystem for Linux(WSL)、旧称 Bash on Windows の有効化の方法メモ。
(1)WSLの有効化
(2)Linuxディストリのインストール
の2つの手順が必要。
WSLの有効化
- 「Windowsの機能」で "Windows Subsystem for Linux" にチェックマークを入れる
- または、Windows PowerShell(管理者モード)で、以下のコマンドでも出来る模様(未確認)
> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Linuxディストリのインストール
Ubuntuの場合の初期のアップデート等
- # apt update
- # apt upgrade -y
Gitサービス/ソフト色々
GitLab
- rubyとGoで開発
- オープンソース
- 手元にインストール可能
- SaaSもある。無料
- https://about.gitlab.com/
GitBucket
- ボランティアベースのオープンソース
- Scalaで開発
- Java 8 以降があれば、簡単インストール
- java -jar gitbucket.war で起動とか
- いろいろプラグイン
- https://github.com/gitbucket/gitbucket
- http://takezoe.hatenablog.com/
- 内部DBで動作するが、大きくなるなら MySQL等と連携
シェルスクリプトの動作を syslogメッセージとして送信する方法
{
....sh script 処理..
} 2>&1 | logger -p local0.info -t "backup"
SD201609より
Windows7を今まで感覚で使うための設定
1)クラシックテーマにする
2)デスクトップのアイコンを小さくする
(デスクトップ上で右クリック→表示→小アイコン)
3)クイック起動バーを有効にする
(タスクマネージャ上で右クリック→ツールバー→新規ツールバー
「フォルダー:」の入力欄に C:\Users\<ユーザ名>\AppData\Roaming\Microsoft\Internet
Explorer\Quick Launch
出てきた QuickLaunch上で右クリックして「タイトルの表示」「ボタン名の表示」「タスクバーを固定する」をはずし、
あとは移動したり、ショートカットを登録したり)
4)スタートメニューの整理
タスクバー上で右クリックして「プロパティ」。[スタートメニュー]タブに移動し、「カスタマイズ」。
ピクチャやビデオを「表示しない」にしたり、「ファイルを指定して実行」「管理ツール」などを表示にしたり
「最近使ったプログラム」の表示数を変更したり。
配列に入っている値をコンマ区切りでつなげる
配列に入っている値をコンマ区切りとかの glue でつなげてひとつの文字列にする。
implode (",", myarray)
implode (" AND ", mywherecondition_array)
逆に、文字列を、指定デリミタで切って配列に入れるの。
myarray = explode(",", mystring)
文字列のクォートの種類
- ダブルクォート: $ とか @ とかの変数や \n などのエスケープキャラが有効(展開される)
- シングルクォート:かたくなにそのまま表示。 ただし \' だけは ' として解釈される。