質問

私は毎日の閉じる値に基づいていくつかの在庫データを持っています。これらの値をPythonリストに挿入して、最後の30件目の中央値を取得する必要があります。これを行うPythonライブラリはありますか?

役に立ちましたか?

解決

Pandas を検討しましたか?これはnumpyに基づいており、タイムスタンプを自動的にデータに関連付けることができ、numpy.nanで記入する限り、不明な日付を廃棄します。それはまたMatplotlibを介したいくつかのかなり強力なグラフを提供します。

基本的にそれはPythonの財務分析のために設計されました。

他のヒント

Python List aにデータを持つ純粋なPythonでは、を実行できます。

median = sum(sorted(a[-30:])[14:16]) / 2.0
.

(これはaを持つことを想定しています。)

numpyパッケージを使用して、を使うことができます

median = numpy.median(a[-30:])
.

ソートされた範囲で中央値の中央値はありませんか?

だから、あなたのリストがstock_dataの場合:

last_thirty = stock_data[-30:]
median = sorted(last_thirty)[15]
.

今すぐ見つかったエラーが見つかり、修正され、stock_dataの場合も30要素未満の場合を扱う必要があります...

ここで少し試してみましょう:

def rolling_median(data, window):
    if len(data) < window:
       subject = data[:]
    else:
       subject = data[-30:]
    return sorted(subject)[len(subject)/2]
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top