2017-10-16 6 views
-1

quandlからAPIを使用してデータを取得しようとしていますが、日付カラムが他のカラムと同じレベルで動作していないようです。例えば。私は次のコードを使用する場合:Quandl + Python:日付カラムが「動作していません」

data = quandl.get("WIKI/KO", trim_start = "2000-12-12", trim_end = 
"2014-12-30", authtoken=quandl.ApiConfig.api_key) 

print(data['Open']) 

を私は以下の結果に終わる

例えば

Date

2000-12-12 57.69

2000-12-13 57.75

2000-12-14 56.00

2000-12-15 55.00

2000-12-18 54.00

日付は「開く」列と共に表示されます。そして、次のような日付を直接入力しようとすると:

print(data[['Open','Date']]), 

日付は列として存在しません。だから私は2つの質問があります:(1)日付を実際の列にするにはどうしたらいいですか?そして(2)「オープン」列だけを選択するのですか?事前に

おかげ

答えて

0

Dateは、列ではないにもかかわらず、なぜprint(data['Open'])ショー日付:

quandle.getは、そのインデックスがDatetimeIndexあるPandas DataFrameを返します。 したがって、日付にアクセスするにはdata['Date']の代わりにdata.indexを使用します。


(1) How do I make Date an actual column

あなたが列にDatetimeIndexをしたい場合は、reset_indexを呼び出す:

data = data.reset_index() 
print(data[['Open', 'Date']]) 

(2) How do I select only the 'Open' column (and thus not the dates)

インデックスなし値のnumpyの配列を取得するには、data['Open'].valuesを使用。 (すべてのPandasシリーズとDataFramesにはIndexがあります(これはPandasの存在理由です)ので、インデックスなしの値を取得する唯一の方法は、SeriesまたはDataFrameをNumPy配列のような別の種類のオブジェクトに変換することです。 )

+0

ありがとうございました。もう1つ質問してもいいですか?価格をSQLテーブルに挿入したいのですが、正しい文字列を設定しました。しかし、フォーマットはまだ動作していないようです。次のエラーを受け取ります。 "pyodbc.ProgrammingError:( '無効なパラメータの種類。param-index = 0 param-type = numpy.ndarray'、 'HY105')"どのように私はSQLテーブルにそれを挿入できるように私は "操作"価格を持っていなければならないでしょうか? – MathiasRa

+0

[このエラー](https://stackoverflow.com/q/41973933/190597)(「pyodbc NumPy配列が無効なパラメータタイプ」を参照)のように見えます。このエラーを回避するには、['tolist()'メソッド](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy)を呼び出して、NumPy配列をPythonリストに変換してみてください。 ndarray.tolist.html): 'data ['Open']。values.tolist()'。それでも問題が解決しない場合は、使用しているテーブルスキーマ、SQL、およびPythonコードを示す新しい質問を1つお願いします。 – unutbu

+0

[その他の質問](https://stackoverflow.com/q/41973933/190597)と比較すると、配列全体を単一のテーブルレコードに挿入しようとしているようです。この問題を解決するには、実際に問題がある場合は、まずSQLとPythonのコードを確認すると役に立ちます。 – unutbu

関連する問題