IndexError: index -1 is out of bounds for axis 0 with size 0を解決
今回質問をし教えて頂いたので備忘録と共有をします。
IndexError: index -1 is out of bounds for axis 0 with size 0
経緯
東京都の昼間の人口予測のデータから過去から未来にかけての密集地の予測をするため、seabornのpairplotを行おうとした所、Keyエラーが発生。その後Keyエラーについて解消はしたものの。上記のエラーが。。。。
locやインデックス値の指定によってデータの表示をしようとしたのですがうまくいかず。
内容
import csv
import pandas as pd
import seaborn as sns
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
import japanize_matplotlib
road = pd.read_csv("~~~~.csv",
encoding="SHIFT-JIS",
keep_default_na=False, # 空欄をNaで置き換えない
header=None, # headerは指定しない
index_col=[0],
engine='python')
road.columns = pd.MultiIndex.from_frame(road.iloc[:11, :].T)
print(road)
dro = road.dropna(how="all")
new = dro.loc[:,["年次(西暦)","地域階層コード","(常住地)東京都"]]
print(new)
sns.pairplot(dro)
plt.savefig("population.png")
plt.show()
解決方法
df = pd.read_csv('/Users/uematsuyuuki/Desktop/ty20rv0800 (1).csv',
encoding='shift-jis',
skiprows=11,
usecols=[1,2,6])
read_csvのパラメーターの指定をすることで解決。
なぜか?!
データの中身に問題があった模様。
引数を指定したことによって特定の行をスキップしたことによって解決。
引数skiprows
特定の行をスキップ(除外)して読み込む場合、引数skiprowsを使う。
skiprowsに整数を渡すと、ファイルの先頭をその行数分スキップして読み込む。
Author And Source
この問題について(IndexError: index -1 is out of bounds for axis 0 with size 0を解決), 我々は、より多くの情報をここで見つけました https://qiita.com/jury/items/c28645967d2011e3b60a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .