首页 > 解决方案 > 熊猫工作了,现在不行了

问题描述

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

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 中显示类似的图像或交互式地图,但这不是现在这个问题的重点)。但是,当我在同样通过 Anaconda 启动的 Jupyter Notebook 中运行完全相同的代码时,代码运行良好,一切都很好:一个交互式地图弹出了它应该在的位置。

第二天,课程包括将 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,因为它可以生成漂亮的图形并且易于使用。

我们可以plotly使用pip.

Pip 是一个包管理系统,它允许我们轻松下载和安装用 Python 编写的库。如果您正在使用 Learn,我们已经为您安装了 pip。我们不会在此处介绍如何安装 pip,但是您可以在线找到有关为 MacWindows安装 pip 的说明。此外,如果您熟悉使用终端并拥有easy_install,则可以sudo easy_install pip从终端运行。”

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

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

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

标签: pythonpandaspipanacondaspyder

解决方案


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

conda install pandas

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

pip install pandas

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


推荐阅读