コンピュータ関係の話題をコーディングと一緒にのせています。
-
pandas で日時の連続値を生成し、インデックスに使う
python で日時の連続値を生成し、 DataFrame や Series のインデックスとして使ってみます。 たとえば、1時間毎のデータを Series に持たせる場合、こんな感じです。 [crayon-651afd […]
-
エポック時間を日時に変換-Java
ファイルのタイムスタンプを取得すると ロング値 が返ってきます。これは 1970年1月1日0時0分0秒 からの経過時間をミリ秒単位で測定した値で、いわゆる エポック時間 です。 このロングの値を 日時形式 に変換してみま […]
-
Java のラムダ式と StreamAPI。入門レベルを図解で
Java8で出てきた関数型プログラミングとかラムダ式とか Stream というものについて、概略をまとめてみました。 関数型とはなにか、みたいな難しいことは考えず、とりあえずこんな感じの記述を読みこなせるようになるのが目 […]
-
python の deque でキューとスタック処理
python で キュー と スタック を扱う場合、通常の配列に append、pop を使えば処理できますが、処理速度を考えると collections の deque を使ったほうがいいようです。ちなみに deque […]
-
深さ優先と幅優先でディレクトリ探索
ツリーやグラフ状のデータを探索する方法に深さ優先探索と幅優先探索があります。両者の違いとプログラムの実装方法を見ていきます。 探索方法の違い 深さ優先 と 幅優先 の探索方法の違いを簡単に説明するとこうなります。 ツリー […]
-
再帰呼び出し 再入門。ビジュアルで動作を理解する
関数内部で自分自身を呼び出す再帰呼び出し。使いこなすと色々と便利ですが、動作がイメージしにくいので図にしてみます。 単純な再帰呼出し そもそも再帰呼び出しとは 関数A が 関数B を呼び出すのは普通の関数呼び出しですが、 […]
-
matplotlib subplot。グラフ間の間隔を調整-python
matplotlib で複数のグラフを描く場合に subplot を使いますが、グラフ間の距離が近すぎて見づらくなるケースがあります。たとえば グラフにタイトルを設定すると上下のタイトルと目盛が重なってしまい読めなくなり […]
-
numpy の多次元配列を特定の列(or 行)でソート
numpy の多次元配列を普通にソートすると、列ごと、または行ごとに個別にソートされます。
123456789101112131415161718192021222324import numpy as npa = np.array([[100,101,99],[10,3,30],[1000,30,3]])#-------------------------------# array([[ 100, 101, 99],# [ 10, 3, 30],# [1000, 30, 3]])#-------------------------------a.sort(axis=0)#-------------------------------# array([[ 10, 3, 3],# [ 100, 30, 30],# [1000, 101, 99]])#-------------------------------↑ ↑ ↑個別にソートa.sort(axis=1)#-------------------------------# array([[ 99, 100, 101], ← 個別にソート# [ 3, 10, 30], ← 個別にソート# [ 3, 30, 1000]]) ← 個別にソート#-------------------------------行単位で 1 データになるようなケースでは、これだとちょっと困 […]
-
回転行列が なぜ あの形なのか数学の素人が考える
回転行列をベクトルにかけあわせると、ベクトルが回転します。回転する角度を θ とすると、2次元の回転行列は次の通りです。 \( \left( \begin{array}{cc} cos \theta & -si […]
-
selenium で yahooニュースのコメントをスクレイピング-python
selenium を使って yahooニュースのコメントをクロールし、スクレイピングしてみます。ブラウザは PhantomJS を使います。プログラムは python です。 インストール selenium と Phan […]