Pandas 有效,现在无效

Pandas Worked, Now It Doesn't

我目前正在参加 FlatIron Academy 的数据科学训练营预备课程,该课程在 Python 开展。在其中一节课中,目标是在特定位置显示带有标记的地图。例如,在布宜诺斯艾利斯放置标记的代码是:

coordinates = [-34.6037, -58.3816]
ba_latitude = coordinates[0]
ba_longitude = coordinates[1]
!pip install folium
import folium
buenos_map = folium.Map([ba_latitude, ba_longitude])
buenos_map

在这一点上我应该提一下,我通过 Anaconda 在 Spyder 上使用 Python。所以也许在这里使用 !pip 是我的第一个错误。

现在,当我第一次在 Spyder 中 运行 这段代码时,没有发生任何奇怪的事情——只是出现了一个图像文件的文件名,但没有显示图像(我真的不知道该图像文件的创建位置或任何相关内容,我很好奇是否可以在 Spyder 中显示图像或交互式地图,但这不是这个问题的重点)。但是当我 运行 在 Jupyter Notebook 中使用完全相同的代码时,也通过 Anaconda 启动,代码运行完美,一切都很好:交互式地图弹出,标记在它应该在的位置。

第二天,课程包括将 Excel 文件导入词典。示例中使用的代码是:

import pandas as pd
file_name = './cities.xlsx'
travel_df = pd.read_excel(file_name)
cities = travel_df.to_dict('records')

我自己的代码版本是:

import pandas as pd
corridor_cards_df = pd.read_excel('./Corridor Cards June 2019.xlsx')
ccd = corridor_cards_df.to_dict('records')
for i in range(len(ccd)):
    print(i)
    print(ccd[i])
    print("\n")

因为我想遍历每个项目并显示它。这在 Spyder 和 Jupyter 中也能完美运行。

当我上绘图数据课时,问题开始出现。课上是这么说的:

“我们可以使用多种 Python 可视化工具来显示我们的数据。在本课中,我们将使用 Plotly,因为它可以生成漂亮的图表并且易于使用。

我们可以使用 pip.

轻松下载 plotly

Pip is a package management system that allows us to easily download and install libraries written in Python. If you are working on Learn, we have already installed pip for you. We will not walk through installing pip here, however you can find instructions on installing pip for Mac or for Windows online. Also, if you are familiar with working with a terminal and have easy_install, you can run sudo easy_install pip from the terminal."

心想,还不如安装pip,于是跟着link找了Windows,点了KIJUKA的视频,也点了里面的link视频的描述。此时我看到我实际上不需要安装 pip,因为我使用的是 Python 版本 3.6.5。但是,每当我尝试使用 python -m pip install -U pip 在 Spyder 中升级 pip 时,我都会得到 SyntaxError: invalid syntax。在这一点上,我意识到 Python、Anaconda 和 Anaconda Powershell Prompt 之间可能存在差异,Pip 和 Conda 之间也可能存在差异。我想我设法使用 Conda 正确安装了 Pip(虽然此时我的记忆真的很模糊,我无法在 Conda Powershell 提示符中找到我所有命令的日志)。我记得做的下一件事是将 Anaconda 及其内部的所有应用程序(包括 Jupyter 和 Spyder)更新到最多 up-to-date 版本。然后我收到一条消息,说我的应用程序 Spyder 启动可能产生了错误,所以我将它恢复到版本 3.2.8。

我不知道这是在过程的哪个阶段发生的,但现在当我导入 pandas 并从中调用方法时,我总是收到一个属性错误。例如,当我 运行 上面的代码时,我得到:AttributeError: module 'pandas' has no attribute 'read_excel'。我有多个标题为 pandas.py 的文件,但它们并不完全相同。 None 其中列出了任何名为 read_excel 的方法,甚至当我使用 folium 时,我也会收到错误消息:AttributeError: module 'pandas' has no attribute 'DataFrame'.

老实说,我对计算机一窍不通,不知道发生了什么,不知道在哪里寻找答案,我做错了什么等等...任何帮助将不胜感激。

首先,anaconda 有自己的一套模块。您可以使用 conda 安装软件包,也可以使用 pip 安装软件包。当我在 anaconda 中安装包时,我确保我使用的是 anaconda 提示符。使用除此以外的任何东西可能会产生错误。根据我的解决方案是打开 anaconda 提示符并尝试

conda install pandas

然后再次尝试 运行 代码。如果这不起作用,请尝试

pip install pandas

如果没有任何效果,请尝试卸载并重新安装 anaconda,但这次请确保使用 anaconda 提示符来安装软件包。