上下文
我正在为数据科学学习python,并且正在使用Foursquare API探索坐标附近的场所。它返回一个JSON文件,因此我创建了一个函数,该函数使用“ foursquare”包(github.com/mLewisLogic/foursquare)从Foursquare结果返回Pandas DataFrame,然后提取数据并将其追加到DataFrame。
该功能可以在我的Jupyter Notebook中使用(您可以在https://github.com/dacog/foursquare_api_tools/blob/master/foursquare_api_tools/foursquare_api_tools.py处检查该功能),尽管如此,我还是想让其他人更轻松地尝试创建一个可以直接从github使用pip安装的软件包。我成功创建了一个程序包,并将其发布到github进行测试,但是当我尝试使用该函数时,它会返回
NameError: name 'pd' is not defined
尝试该软件包的步骤
!pip install git+https://github.com/dacog/foursquare_api_tools.git#egg=foursquare_api_tools
# @hidden_cell
CLIENT_ID = 'Secret' # your Foursquare ID
CLIENT_SECRET = 'Secret' # your Foursquare Secret
VERSION = '20180605' # Foursquare API version
from foursquare_api_tools import foursquare_api_tools as ft
ft.venues_explore(client,lat='40.7233',lng='-74.0030',limit=100)
我得到
NameError Traceback (most recent call last)
<ipython-input-47-0a062ed9d667> in <module>()
3 import pandas as pd
4
----> 5 ft.venues_explore(client,lat='40.7233',lng='-74.0030',limit=100)
/opt/conda/envs/DSX-Python35/lib/python3.5/site-packages/foursquare_api_tools/foursquare_api_tools.py in venues_explore(client, lat, lng, limit)
3 This returns a pandas dataframe with name, city ,country, lat, long, postal code, address and main category as columns'''
4 # creata a dataframe
----> 5 df_a = pd.DataFrame(columns=['Name', 'City', 'Latitude','Longitude','Category','Postal Code', 'Address'])
6 ll=lat+','+lng
7 #get venues using client https://github.com/mLewisLogic/foursquare
NameError: name 'pd' is not defined
我在__init__.py中的函数内部的主笔记本中尝试import pandas as pd
总是得到相同的结果。
您可以在https://github.com/dacog/foursquare_api_tools
处检查代码这是我第一次创建一个软件包,并且是python的新手,因此将不胜感激。
已安装的Python版本为:
!which python --> /home/jupyterlab/conda/bin/python
!whereis python
/usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /etc/python /etc/python2.7
/usr/local/lib/python2.7 /usr/share/python
/home/jupyterlab/conda/bin/python /home/jupyterlab/conda/bin/python3.6
/home/jupyterlab/conda/bin/python3.6-config /home/jupyterlab/conda/bin/python3.6m /home/jupyterlab/conda/bin/python3.6m-config /usr/share/man/man1/python.1.gz
答案 0 :(得分:2)
您在import pandas as pd
中缺少foursquare_api_tools.py
语句。只需在该文件的顶部添加该行,就可以了。
提示错误:NameError
,在第5行中调用pd.DataFrame
,因为没有导入语句,Python不知道“名称” pd
的含义
答案 1 :(得分:0)
除了将“导入熊猫作为 pd”作为 seaborn 到您的库之外,还可以使用:
Import pandas as pd
Import seaborn as sns
Sns.set()
这应该适用于 Jupyter 笔记本