pandas

Pythonでの時系列データの扱い3 〜 時系列データの頻度設定

前回「Pythonでの時系列データの扱い2 〜 時系列データの作成および選択」の続き。特定間隔の時系列データを作成する方法を学ぶ。 #coding:utf-8 import numpy as np import matplotlib.pyplot as plt import pandas as pd import datetime import dateutil…

Pythonでの時系列データの扱い1 〜 文字列とdatetimeの変換

結局、次のように色々できる。 ほぼほぼ、単なる写経になってしまった。。。 #coding:utf-8 import numpy as np import matplotlib.pyplot as plt import pandas as pd import datetime import dateutil #################### datetimeおよびdateutilを使っ…

matplotlib.pyplot.subplot()を実行したら「AttributeError: 'NoneType' object has no attribute 'bbox'」

原因が分からず困っていたが、matplotlibのバージョンが最新ではなかったのでバージョンを1.5.3に上げる。すると解決。゚(゚´Д`゚)゚。python、ライブラリのバージョンが古かったり、pipのバージョンが古かったりしてハマることが多い。

matplotlib.pyplotとmatplotlib.financeを使ってローソク足を描こうとしたが目的を達成できないでいるw

1時間足のデータでローソク足を描こうと思ったが、中々うまくいかない。 データは、Date,open,high,low,closeのカラムでCSVに格納されている1時間足。 #coding:utf-8 import csv import pandas as pd import numpy as np import matplotlib.pyplot as plt i…

pandasを使用して複数のzipファイルに格納されているtickデータ(CSVファイル)から1時間足を作成する

「pythonを使用して所定のフォルダを再帰的に探索して、複数のzipファイルに格納されているCSVファイルだけを読み込む」で実施したこと、「pandasを使用してtickデータからOpen,High,Low,Closeデータを作成する」で実施したことを踏まえてタイトルに書いたこ…

pythonのpandas.datetime.strptimeでは「YY/MM/dd」日付を表す文字列をdatetimeに変換できない?

前回「pythonのpandas.datetime.strptimeで日付を表す文字列をdatetimeに変換する」の続き。前回は「YYYY/MM/dd」といった形式の日付文字列をdatetimeに変換した。 ところが、「YY/MM/dd」といった形式のデータも世の中にはある。例えば「15/05/01」 これら…

pythonのpandas.datetime.strptimeで日付を表す文字列をdatetimeに変換する

例えば、文字列'2014-01-15'をdatetime型に変換するには次のようにする。 datetime.strptime('2014-01-15', '%Y-%m-%d') 分かれば全然大したことではないが、注意点が1つ。 フォーマット指定の「%Y」は大文字でなければならない。 フォーマット指定の「%m」…

pandasを使用してtickデータからOpen,High,Low,Closeデータを作成する

タイトル通り、tickデータからOHLCデータを作成する。データは「HistData.com」からダウンロードする。 ここには各種データがあるが、今回は「NinjaTrader」の「USDJPY」の2016年6月のbidレートのtickデータ(DAT_NT_USDJPY_T_BID_201606.csv)をダウンロー…

(続)pandas.DataFrame.resampleを使用して価格を異なるタイムフレームの足へ変換する

前回「pandas.DataFrame.resampleを使用して価格を異なるタイムフレームの足へ変換する」の続き。前回は総じて次のコードで時間足を作成した。 #coding:utf-8 import csv import pandas as pd import numpy as np filename = "USDJPY.csv" df = pd.read_csv(…

pandas.DataFrame.resampleを使用して価格を異なるタイムフレームの足へ変換する

入力データのCSVは下記のようなもの。 Time Open High Low Close 2016/9/7 6:10 102.022 102.042 101.022 101.542 2016/9/7 6:11 102.019 102.046 101.019 102.046・・・・・・・・ それをまずは次のようにしてDataFrameに格納。 filename = "USDJPY.csv" df…

pandas.DataFrameのset_indexについての勘違い

まさに勘違いをしていてハマった。 DataFrame.set_index(['Time'])のように書くと、DataFrameにカラムを追加してくれるのだと勘違いしていた。 全然違うじゃん。 #coding:utf-8 import pandas as pd import numpy as np df = pd.DataFrame(np.random.randint…

pandasのread_csvでファイルを読み込む際のヘッダの扱いについて

前回の勘違いネタ「pandasのread_csvはDataFrameを戻してくれるのではないのか?と思っていたら、その通りだった・・・」からの続き。 filename = "USDJPY.csv" data = pd.read_csv(filename, names=('Time','Open','High','Low','Close'), sep=',', parse_d…

pandasのread_csvはDataFrameを戻してくれるのではないのか?と思っていたら、その通りだった・・・

pandas 0.19.1のAPIドキュメントには次のように書いてある。 Returns: result : DataFrame or TextParser 次のように実装してみた。 filename = "USDJPY.csv" data = pd.read_csv(filename, names=('Time','Open','High','Low','Close'), sep=',', parse_dat…

最も簡単なWebScraping(ウェブスクレイピング)について 〜 環境設定周りで面倒だったが仕方ない

【概要】 ・スクレイピングするためのコードは2行程度で終わるが、環境設定周りで色々と面倒だったというお話 ・WEBスクレイピングをする際には「とりあえずpandasで取得してみて取れたらラッキー。駄目だったら頑張る」というのが良さそう。【詳細】 スクレ…