前提・実現したいこと
ここに質問の内容を詳しく書いてください。
https://qiita.com/shion1118/items/2979e1cd465a59aeb95c を参考に仮想通貨の予測を行おうとなれないpythonを使用していると、UNIXtimeの変換で躓きました。
発生している問題・エラーメッセージ
UNIXtimeを変換できない
エラーメッセージ File "C:/Users/kosuke/.spyder-py3/temp.py", line 22, in <module> time_stamp = dt.datetime.fromtimestamp(time_stamp) TypeError: only length-1 arrays can be converted to Python scalars
該当のソースコード
python
1import requests 2import json 3import datetime as dt 4import pandas as pd 5import numpy as np 6import matplotlib.pyplot as plt 7 8startDate="2018-03-23 00:00:00" 9endDate="2018-03-23 23:00:00" 10startDate = dt.datetime.strptime(startDate, '%Y-%m-%d %H:%M:%S') 11endDate = dt.datetime.strptime(endDate, '%Y-%m-%d %H:%M:%S') 12 13startTimestamp = startDate.timestamp() 14endTimestamp = endDate.timestamp() 15 16query = {"periods": "3600", "after": str(int(startTimestamp)), "before": str(int(endTimestamp))} 17res = json.loads(requests.get("https://api.cryptowat.ch/markets/bitflyer/btcfxjpy/ohlc", params=query).text)["result"]["3600"] 18res = np.array(res) 19 20time_stamp = res[:, 0].reshape(len(res), 1) 21time_stamp = dt.datetime.fromtimestamp(time_stamp) 22close_price = res[:, 4].reshape(len(res), 1) 23 24tmp_data = np.hstack((time_stamp, close_price)) 25data = pd.DataFrame(tmp_data, columns={"y", "ds"}) 26data.to_csv("C:/pythondata/bitflyer-" + str(int(startTimestamp)) + "-" + str(int(endTimestamp)) + ".csv", index=False) 27 28data = pd.read_csv("C:/pythondata/bitflyer-1521730800-1521813600.csv") 29data.plot() 30plt.show()
試したこと
time_stamp = dt.datetime.fromtimestamp(time_stamp)の部分をコメントアウトするとエラーを吐かず、とりあえずグラフが表示されるのでここの変換がうまくいっていないと思われます。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。