pandas
全然覚えられない。 #欠損値NaNが含まれる行/列を削除する(how="all"とすると全て欠損値の行/列を削除する。デフォルトはhow="any"。axis=1とすると列削除) result_df = df.dropna(how="all", axis=1) # DataFrameのindexを振り直すreset_index(drop=True…
「ある文字列において、特定の文字がX文字以上連続した場合に限り、その連続した文字列で元の文字列を分割する」ことを考えた。 まずこれはどういうことか。具体例を示す。例えば、何らかのテキストファイルを1行ずつ読み込んで処理をする場合に、特定の行…
pandasで新規にDataFrameを作成しようとしたらエラー。 If using all scalar values, you must pass an index 問題のコードは次のようなコード。data1とdata2は数値。 df = pd.DataFrame({ 'col1':data1, 'col2':data2 }) これを次のように1つだけlistにし…
#1列目取得(列番号指定) df.iloc[:, [0]] ← DataFrameで取得 df.iloc[:,1] ← Seriesで取得 #1行目取得(列番号指定) df.iloc[0,:] #1〜3行目取得 df[0:3] #データフレームdfの2列目にKeyWordが含まれるかを調べてbooleanのDataframeで返す。 df.iloc[:, [1]…
以前「pandas.DataFrame型のデータで2軸グラフを描く」では面倒くさい上に上手く行かなかった記憶があったが、単純な折れ線だと次のようにして描ける。 df = pd.DataFrame() df.plot(x=df['timestamp'], secondary_y=['ltp']) secondary_yを指定すれば良い。
Pythonで開発中に掲題のエラー「AttributeError: 'module' object has no attribute 'BufferedIOBase'」。 原因は・・・。 「io」という名前でパッケージを作成したこと 最初は関係無さそうということで読みとばしていたが、実は「How to solve AttributeErr…
初めて遭遇したエラーなので、少しハマった。 virtualEnvを使っていない場合は問題なかったので。エラー内容は次。 TclError: Can't find a usable init.tcl in the following directories: D:/Python27/lib/tcl8.5 D:/virtualenv/jscraping/lib/tcl8.5 D:/v…
次のように書いていてエラー。 inputDf = pd.read_csv("./result/test.csv", encoding="SJIS") 処理 inputDf.to_csv('./result/output.csv') 出力時にもencoding指定しないと駄目ですね。 次のようにして回避。 inputDf = pd.read_csv("./result/test.csv", …
仕事忙し過ぎで、JavaやらshellやらSQLやら手作業やらその他色々やり過ぎてpython久しぶり。 ※)仕事でpythonを使う機会は殆ど全く無い。゚(゚´Д`゚)゚。 殆ど忘れている。KUにCFTCの建玉を2軸グラフで重ねようと思ってちょろっとやってみた。 主に次の3つの手順…
ziplineのインストールで躓いて、「環境問題めんどくせーなー。とりあえず躓かないライブラリにしよう。」なんてことを思っている軟弱者です。 「Pythonのバックテストフレームワーク「zipline」を使ってみる1 〜 環境構築」で辛うじてziplineを導入出来た…
環境は次。 ・JetBrains PyCharm Community Edition 2016.2.3 ・python 2.7.12 ・zipline 1.0.2 今回実施するのは次 1.ziplineをpipを使ってインストールする 2.condaを使ってziplineをインストールする ・2−1.AnacondaからMinicondaが必要なのでイン…
個別株の累積リターンと指数の累積リターンを同じグラフ描く。 特にコメントは無い。 #coding:utf-8 import pandas as pd import numpy as np import datetime as dt import pandas_datareader.data as pdd ######## Define Method ######## def getMultiSto…
「pandasを使用して2つの銘柄の日次リターンの時系列相関を求める」の続きっぽいやつ。「scikits.statsmodels」が必要だったので、importした。 特にコメントは無いw。 #coding:utf-8 import pandas as pd import numpy as np import datetime as dt import…
ここでは「1803 清水建設」と「8698 マネックスグループ」の時系列相関を求める。移動平均やヒストリカルボラティリティを求めるのと殆ど同じ方法で求められる。 pandas.DataFrame.rollingを使用して、その結果にcorr関数を作用させるだけ。 rolling_corr = …
これ、「Pythonでヒストリカルボラティリティの計算」にも書いたのとほぼ同じなので軽く流す。 shift関数使わずにpct_change関数使っている分だけ幾分簡潔になったかも。 #coding:utf-8 import pandas as pd import numpy as np import datetime as dt impor…
以前、Rを使って試したことと同様のことをpythonで試す。 ・「urcaパッケージを使用した定常性検定」 ・「urcaパッケージを使用した定常性検定 〜 続編」 主なお題は次。 ・日次リターンの計算 ・日次リターンから累積リターンを求める ・リターン分布を描く…
「pandas.DataFrame型で保持した株価データの可視化1」の続き。株価データをローソク足で描くのが今回のテーマ。 最初にソースコードを載せて、次に解説していく。その前に今回使用する主なAPIの紹介と、それに関する注意点を述べておく。◎今回使用する主な…
「pandas.DataFrame型で保持した株価データを取得する」で取得したデータを可視化する。これまで可視化は下記のエントリーで触れた。そこと重なる内容も多々あるが、復習もかねる。 ・Pythonでのプロットと可視化(matplotlib編) 〜 まとめ ・Pythonでのプ…
「pandasで複数銘柄の株価データ(pandas.DataFrame型)をpandas.DataFrame型で保持する」からの続き。まず、前回の復習。 前回は次のようにして、複数の株価データをpandas.DataFrame型として取得した。 #coding:utf-8 import pandas as pd import datetime…
同様の内容は以前も扱った。 ・Pythonでの時系列データの扱い7 〜 まとめ(WEBからの株価データ取得、プロット、移動平均の作成) ・pandas_datareader.dataのDataReaderを使用して株価を取得する 〜 pandas.Panel型で取得したデータ構造からpandas.Panel.m…
「pandasで時系列データを扱う(pandas.Seriesとpandas.DataFrameを使って時系列データを扱う)1」の続き。全部で下記を実施予定。 1.時系列データとDatetimeIndex 2.指定した頻度の時系列データを作成する方法 3.日付のoffsetsを使用して新しい日付…
話題は変わるが、「pandasによるStackingとUnstacking」の続き。時系列データについては、これまで以下で扱ったので重複する部分もあると思うが反復練習ということで気にしない。 ・Pythonでの時系列データの扱い1 〜 文字列とdatetimeの変換 ・Pythonでの…
「pandasによるpivot 〜 複数行に渡って重複しているデータを、重複しているデータ毎に集計する」の続き。pandas.DataFrame.stackを使うと列から行へのpivotができる。 unstackはその逆。前回使用したコードにstack部分を追加する。 #coding:utf-8 import nu…
「pandas.DataFrameの結合」の続き。例によってAAPLとMSFTの株価データを題材に色々試す。1.株価データ取得 途中、pandas.DataFrame.insertを使用して列を追加していることに注意。 #coding:utf-8 import numpy as np import pandas as pd import datetime…
「pandas.DataFrameの連結」の続き。pandas.mergeとpandas.concatの違いは、pandas.mergeはインデックスのラベルを使用するのではなく共通のカラムデータを元に結合すること。次のように動作する。 1.マージに使用するカラムデータが探される 2.1で探し…
「pandas.DataFrameでのデータ作成・データへのアクセス」の続き。・株価データの取得 #coding:utf-8 import numpy as np import pandas as pd import datetime import pandas_datareader.data as pdd # 期間設定 date_from = datetime.date(2016, 9, 24) da…
完全に作業メモ用。 タイトルも意味不明だろうw。どういうことかというと、100万円を「1M円」と言ったり、1000円を「1K円」と言ったりするオジサンがいて、その人が飲み会の会計をExcelで管理している時は、金額が全てそのような表記になっているの。 で、…
「Pythonでの時系列データの扱い4 〜 「祝日の取得」および「祝日を考慮した営業日の取得」」の続き。結論から言うと、今のところこの機能を活かす状況が分かっていないので、軽く流す。 次の流れで進める。 1.pd.date_range()でDatetimeIndexを作成する …
「Pythonでの時系列データの扱い4 〜 「祝日の取得」および「祝日を考慮した営業日の取得」」で、Google Calendar APIを使用するために認証キーを取得する必要がある。 今回はこの手順をメモ。手順は下記。 1.Google Developer Consoleにアクセス 2.Goo…
前回「Pythonでの時系列データの扱い3 〜 時系列データの頻度設定」の続き。前回、次のようなコードで月の最終営業日を取得したが、祝日が考慮されていないことが判明した(当然だが・・・)。 #coding:utf-8 import numpy as np import matplotlib.pyplot …