【问题标题】:Pandas Worked, Now It Doesn't熊猫工作了,现在不行了
【发布时间】:2021-01-07 22:54:12
【问题描述】:

我目前正在学习使用 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,因为它可以生成漂亮的图形并且易于使用。

我们可以使用pip轻松下载plotly库。

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

我心想,还是安装pip吧,于是我点了windows的链接,点了KIJUKA的视频,也点了视频说明里的链接。此时我看到我实际上不需要安装 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)更新到最新版本。然后我收到一条消息,说我的应用程序 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'

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

【问题讨论】:

    标签: python pandas pip anaconda spyder


    【解决方案1】:

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

    conda install pandas
    

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

    pip install pandas
    

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

    【讨论】:

    • 哇,非常感谢!不知道为什么它以前不起作用,但我觉得我之前在 anaconda powershell 提示符中确实做过conda install pandas,但它没有起作用。但现在它做到了,我很放心!有时最令人沮丧的问题有最简单的解决方案:)
    猜你喜欢
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    • 1970-01-01
    • 2012-12-20
    相关资源
    最近更新 更多