PythonでWebサイトから表データを拾ってくる手順

Pocket

Pythonでpadansを使ってWebページにあるテーブル(表)のデータを拾ってくる手順です。
データはDataFrameとして取得できるので、そのまま加工できて便利そうです。

まず必要なモジュールをインポートしておきます。

Webページからテーブルを拾ってくるコードは次の一行で実現できます。今回はみんかぶFXのページから拾ってみました。

取得したデータはDataFrame型の配列なので

という感じで各テーブルを表すDataFrameにアクセスできます。

テーブルから列番号を使って任意の列を削除する

ところで、みんかぶFXから取得した経済指標値テーブルの1列目は年のデータだったのですが、このような列を削除したい場合はdrop()を使って削除できます。引数にcolumns[列インデックス]を指定するのがコツみたいです。ちゃんと列を削除してもらえるようにaxis=1を忘れずに指定します。

DataFrame.columns[]を使って列番号から対応する列の名前を取得できます。DataFrame.dropで列を削除するには列名を指定すれば良いのでcolumns[]を渡してやれば良いみたいです。

てっきりdrop(列番号,axis=1)とすれば列を削除できると思っていたのでdrop(0,axis=1)としてしまって、しばらく詰まっていました。
番号ではなく名前で指定しないと駄目だったようです。

テーブルのデータを一次元にしてから平均を求める

指標値すべての平均を取得してみます。まず、テーブルにあるすべての値を1次元の配列に直してから、Seriesとして作成しなおしてみました。

values_df.valuesでテーブルの全データをArrayとして取得して、flatten()で一次元配列にします。さらにその配列からSeriesを作成しています。

これでall_dataという名前の、指標値が格納されたSeriesを取得できました。
Seriesにしたので、後はall_data.mean()やall_data.describe()というふうに使えます。

Pocket

コメントを残す

メールアドレスが公開されることはありません。