質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

1回答

20531閲覧

pandas.concat でエラーがでます。

doz13189

総合スコア38

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2016/09/01 03:01

###前提・実現したいこと

エラーの原因がわかりません。

300社ほどの株価のチャートをプロットするプログラミングを実行しています。
前まではエラーもでず、実行できたのですが、最近になって下記のエラーがでるようになりました。

だいたい150社ほどプロットしてから、いつも同じタイミングでエラーがでます。

前まではエラーがなかったので、原因がわかりません。

###発生している問題・エラーメッセージ

Traceback (most recent call last): File "t1_chose.py", line 25, in <module> data = smartchart.scraping_yahoo(company, StartDate, EndDate, "d") File "/home/user/py2/blossom/2016-8-31/smartchart.py", line 30, in scraping_yahoo result = pandas.concat(result) File "/home/user/.pyenv/versions/anaconda3-4.1.0/envs/py2/lib/python3.5/site-packages/pandas/tools/merge.py", line 845, in concat copy=copy) File "/home/user/.pyenv/versions/anaconda3-4.1.0/envs/py2/lib/python3.5/site-packages/pandas/tools/merge.py", line 878, in __init__ raise ValueError('No objects to concatenate') ValueError: No objects to concatenate

###該当のソースコード

Python3

1def scraping_yahoo(code, start, end, term): 2 base = "http://info.finance.yahoo.co.jp/history/?code={0}.T&{1}&{2}&tm={3}&p={4}" 3 4 start = str(start) 5 start = start.split("-") 6 start = "sy={0}&sm={1}&sd={2}".format(start[0], start[1], start[2]) 7 end = str(end) 8 end = end.split("-") 9 end = "ey={0}&em={1}&ed={2}".format(end[0], end[1], end[2]) 10 page = 1 11 12 result = [] 13 while True: 14 url = base.format(code, start, end, term, page) 15 df = pandas.read_html(url, header=0) 16 if len(df[1]) == 0: 17 break 18 19 result.append(df[1]) 20 page += 1 21 result = pandas.concat(result) 22 result.columns = ['Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close'] 23 24 return result

###試したこと
No objects to concatenate なので、pandas.concat でデータフレーム同士を連結しているさいにエラーがでていると思うのですが、それがなぜだかわかりません。

###補足情報(言語/FW/ツール等のバージョンなど)
OS : Ubuntu
言語 : Python3

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

argius

2016/09/01 03:20

差支えなければ、実際にそのエラーが出るURLを特定して教えていただけますか?code, start, endでも良いです。
doz13189

2016/09/01 04:17

申し訳ありません、解決することができました。 おっしゃられたとおり、URLを特定しました。 すると、そのURLの会社がページに存在しませんでした。 お騒がせしました、ありがとうございます。
guest

回答1

0

自己解決

エラーが発生しているURLを特定しました。
そのURLが存在しなかったため、エラーが発生していました。

投稿2016/09/01 04:18

doz13189

総合スコア38

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

argius

2016/09/01 04:30

そういうことでしたか。 pandas.read_htmlがエラーを返してくれたら良さそうなんですけどね。 pandas.read_htmlを使ったことないので分かりませんが、ページがHTTPのエラー(404など)を返してないと難しいかも知れません。 ともあれ、解決して良かったです。
doz13189

2016/09/01 04:35

そうですよね。。。 read.htmlがエラーを返してくれたほうが対処も楽です。。。 わざわざ回答していただきありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問