前提・実現したいこと
https://pannakotta.hatenablog.jp/entry/python/programing/machinelearning
こちらのサイトに書いてあるソースコードを試したいのですが、エラーが出て進まなくて困っています。ご協力願いたいです。
発生している問題・エラーメッセージ
KeyError Traceback (most recent call last)
<ipython-input-3-e28144a32619> in <module>
14 data1=DataFrame(pd.read_csv("data.csv")) #気温データを読み込む
15
---> 16 data2=data1[["2018","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017"]]
17 print("データ型確認{}\n".format(data2.dtypes))
18 data2.corr() #相関係数を調べる
~\anaconda3\lib\site-packages\pandas\core\frame.py in getitem(self, key)
3028 if is_iterator(key):
3029 key = list(key)
-> 3030 indexer = self.loc._get_listlike_indexer(key, axis=1, raise_missing=True)[1]
3031
3032 # take() does not accept boolean indexers
~\anaconda3\lib\site-packages\pandas\core\indexing.py in _get_listlike_indexer(self, key, axis, raise_missing)
1264 keyarr, indexer, new_indexer = ax._reindex_non_unique(keyarr)
1265
-> 1266 self._validate_read_indexer(keyarr, indexer, axis, raise_missing=raise_missing)
1267 return keyarr, indexer
1268
~\anaconda3\lib\site-packages\pandas\core\indexing.py in _validate_read_indexer(self, key, indexer, axis, raise_missing)
1306 if missing == len(indexer):
1307 axis_name = self.obj._get_axis_name(axis)
-> 1308 raise KeyError(f"None of [{key}] are in the [{axis_name}]")
1309
1310 ax = self.obj._get_axis(axis)
KeyError: "None of [Index(['2018', '2007', '2008', '2009', '2010', '2011', '2012', '2013', '2014',\n '2015', '2016', '2017'],\n dtype='object')] are in the [columns]"
該当のソースコード
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import scipy as sp
from matplotlib import pyplot
from pandas import Series,DataFrame
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn import linear_model
import seaborn as sns
import sklearn
data1=DataFrame(pd.read_csv("assign5_temp1.csv")) #気温データを読み込む
data2=data1[["2018","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017"]]
print("データ型確認{}\n".format(data2.dtypes))
data2.corr() #相関係数を調べる
sns.pairplot(data2) #相関行列を作成
plt.grid(True)
l=pd.date_range("1-1-1",periods=365,freq="d")
plt.plot(l,X,alpha=0.7)
plt.plot(l,data2["2018"],color="black") #棒グラフを作成
plt.legend(X)
試したこと
コードに出てくるcssファイルは用意し、ファイル名も統一させましたがこのようなエラーメッセージが出ました。
補足情報(FW/ツールのバージョンなど)
Python 3.9.6
jupyter notebook
回答1件
あなたの回答
tips
プレビュー