如何解决 jupyter notebook 中的 pandas 问题?

Posted

技术标签:

【中文标题】如何解决 jupyter notebook 中的 pandas 问题?【英文标题】:How to resolve problems with pandas in juypter notebook? 【发布时间】:2022-01-22 07:49:48 【问题描述】:

我正在学习使用 scikit learn 进行机器学习手册的第 3 章。我已经导入了 mnist 数据集,但是当我尝试获取一些图像时,它向我显示了一个错误:screenshot of the error and code! 我已经导入了我需要导入的每个库,我还将代码推送到了我的 GitHub,在那里你可以看到整个 juypter 笔记本。 link to GitHub notebook 谁能帮我解决这个问题?

我写的代码是:

some_digit = X[0]
some_digit_image = some_digit.reshape(28, 28)
plt.imshow(some_digit_image, cmap=mpl.cm.binary)
plt.axis("off")

save_fig("some_digit_plot")
plt.show()

我遇到的错误

KeyError                                  Traceback (most recent call last)
c:\python3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
   3360             try:
-> 3361                 return self._engine.get_loc(casted_key)
   3362             except KeyError as err:

c:\python3\lib\site-packages\pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()

c:\python3\lib\site-packages\pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: 0

The above exception was the direct cause of the following exception:

KeyError                                  Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_5048/2618338264.py in <module>
----> 1 some_digit = X[0]
      2 some_digit_image = some_digit.reshape(28, 28)
      3 plt.imshow(some_digit_image, cmap=mpl.cm.binary)
      4 plt.axis("off")
      5 

c:\python3\lib\site-packages\pandas\core\frame.py in __getitem__(self, key)
   3453             if self.columns.nlevels > 1:
   3454                 return self._getitem_multilevel(key)
-> 3455             indexer = self.columns.get_loc(key)
   3456             if is_integer(indexer):
   3457                 indexer = [indexer]

c:\python3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
   3361                 return self._engine.get_loc(casted_key)
   3362             except KeyError as err:
-> 3363                 raise KeyError(key) from err
   3364 
   3365         if is_scalar(key) and isna(key) and not self.hasnans:

KeyError: 0

【问题讨论】:

here 是你的答案。 @shivankgtm 谢谢你,我的朋友,它正在工作 【参考方案1】:

我会建议一种不同的方法来解决这个问题,当您使用 Pandas 时,这可能会对其他机器学习项目有所帮助。切片数据时,尽量使用iloc函数。在您的情况下,我尝试使用具有相同代码的 X.iloc[0] 并且它可以工作,无需重新安装库。而且因为在预处理过程中,以及将数据拆分为测试/训练集,您的索引会混淆,因此通过标签调用一行可能是不明智的。

【讨论】:

以上是关于如何解决 jupyter notebook 中的 pandas 问题?的主要内容,如果未能解决你的问题,请参考以下文章

运行jupyter notebook出现这种情况的原因如何解决

从 jupyter notebook 访问外部硬盘中的数据

关于Jupyter Notebook默认起始目录设置无效的解决方法

如何在 Jupyter Notebook 中使用 Python 库调试错误

解决不能再jupyter notebook中使用tensorflow

如何阻止 Jupyter Notebook 中的 stderr 输出?