ヒストグラムの学習のため、ウェッブページからテーブルを読み込み、そのテーブルを元にヒストグラムを描こうとしています。がしかし、エラーになってしまいます。
python
1import pandas as pd 2url = ('https://bellcurve.jp/statistics/course/18769.html') 3df= pd.read_html(url) 4df=df[0] # ウェッブページの最初のテーブルを読み込む 5df
python
1df=df[["階級(cm以上~cm未満)","度数"]] #任意の列を抽出する。 2df
上記のデータフレームから、階級を横軸に、度数を縦軸にしたヒストグラムを描こうとしています。
【やったこと】
python
1import matplotlib.pyplot as plt 2plt.hist(df) 3TypeError: 5 is not a string # エラー表示 4 5df.hist() # 以下のようなグラフが表示されます。
度数、階級値の値が横軸になり、縦軸の値はすべて1を示しているようです〜
df= pd.read_html(url)
や、df=df[0] # ウェッブページの最初のテーブルを読み込む
が、期待通りに動作しているように思えませんが、内容を確認したことはあるのでしょうか?
コメント、ありがとうございます。
取り急ぎ、Typeを調べてみました。
■データフレームのTypeは以下の通りとなります。
import pandas as pd
url = ('https://bellcurve.jp/statistics/course/18769.html')
df= pd.read_html(url)
df=df[0] # ウェッブページの最初のテーブルを読み込む
type(df) #Typeの確認
pandas.core.frame.DataFrame
■ 違う方法、クリップボードも試してみました。
(ウェブページの該当するテーブルをコピーし、そして)
import pandas as pd
df=pd.read_clipboard()
type(df)#Typeの確認
pandas.core.frame.DataFrame
よろしく、おねがいいたします。
すいません、勘違いでした。
今回のケースはすでに度数値がでているので、histではなく、単にbarで良いのでは?階級はラベルとして設定することで所望のグラフが得られそうです。
回答1件
あなたの回答
tips
プレビュー