excelで作成されたデータを、pd.read_excel()にて読み込んでいます。
さらにデータを加工・抽出し、グラフを描こうとすると、以下のエラーが出てしまいます。
TypeError: Empty 'DataFrame': no numeric data to plot
対処方法を、ご教示くださいませ。
python
1import pandas as pd 2 3# xlsファイルの読み込み 4df=pd.read_excel('f005-30-027.xls') 5 6#列、行の欠損値の削除、不要な1行目の削除 7df=df.dropna(how='all').dropna(how='all',axis=1).drop(1) 8df.head()
python
1# [Unnamed:0]と[Unnamed:4]の列の抽出 2df=df[['Unnamed: 0','Unnamed: 4']] 3df.head()
pyton
1# 行(都道府県)の抽出 2df=df.loc[29:85] 3df.head()
python
1# 1列目の名前を「都道府県」に、2列目を「収穫量」に変更する 2df = df.rename(columns={df.columns[0]: '都道府県',df.columns[1]: '収穫量'}) 3df.head()
python
1import matplotlib.pyplot as plt 2fig,axes = plt.subplots(2,1) 3 4# 横表示の棒グラフ、縦表示の棒グラフを描く 5df.plot.bar(ax=axes[0]) 6df.plot.barh(ax=axes[1])
TypeError: Empty 'DataFrame': no numeric data to plot
◎やったこと
df.astype(float)をやってみました。
python
1df=df.astype(float) 2 3import matplotlib.pyplot as plt 4fig,axes = plt.subplots(2,1) 5df.plot.bar(ax=axes[0]) 6df.plot.barh(ax=axes[1]) 7 8df=df.astype(float)
◎結果
ValueError: could not convert string to float: ' (11)\u3000キャベツ'
回答1件
あなたの回答
tips
プレビュー