2017-02-18 66 views
-1

我创建的数据帧如下(我使用PyCharm和Python 3.6):为什么我的熊猫数据帧没有定义

import pandas as pd 

data1=pd.read_csv('LoanDataReport_jan_thru_may.txt', sep='|', 
        low_memory=False) 

data2=pd.read_csv('LoanDataReport_jun_thru_sep.txt', sep='|', 
        low_memory=False) 

data3=pd.read_csv('LoanDataReport_oct_thru_dec.txt', sep='|', 
        low_memory=False) 

datafinal=pd.concat([data1,data2,data3]) 

print(datafinal) 

此运行正常,并显示的datafinal的部分。

那么,我注释掉我刚刚运行的代码行#并添加一行代码来获取dtypes。它看起来像这样:

#import pandas as pd 
# 
#data1=pd.read_csv('LoanDataReport_jan_thru_may.txt', sep='|', 
#     low_memory=False) 
# 
#data2=pd.read_csv('LoanDataReport_jun_thru_sep.txt', sep='|', 
#     low_memory=False) 
# 
#data3=pd.read_csv('LoanDataReport_oct_thru_dec.txt', sep='|', 
#     low_memory=False) 
# 
#datafinal=pd.concat([data1,data2,data3]) 
# 
#print(datafinal) 
# 

print(datafinal.dtypes) 

我得到以下错误: /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6“/用户/ MYNAME /桌面/ Python3 /导入数据。 py“ Traceback(最近一次调用最后一次): printher(datafinal.dtypes) NameError:未定义name'datafinal'文件”/ Users/myname/Desktop/Python3/Import Data.py“,第17行

处理完成退出代码1

为什么会发生这种情况?为什么我不能继续在datafinal上工作而无需运行整个代码每次?所有帮助非常感谢。

回答

0

我推荐使用Python阅读关于variables and scope的文章。

你有一个独立的脚本,你可以定义一个全局变量datafinal。该变量仅在脚本生命周期中可见,并且在第一次和第二次尝试之间不会保留。当您在第二次运行脚本时,除了最后一条语句之外的所有语句都已经注释之后,您正尝试访问不存在的变量。

如果您想逐步浏览数据,请查看Jupyter Notebook。获得它的一种方法是使用Anaconda Python分发。

+0

谢谢。我对Python很陌生。所以我相信我已经安装了水蟒和木星。在我的终端上安装了pip install - 升级pip,并得到他的回应“Requirement already up-to-date:pip in /anaconda/lib/python2.7/site-packages”。然后我做了pip安装jupyter,并输入消息“Requirement already satisfied:jupyter in /anaconda/lib/python2.7/site-packages”。我仍然遇到和以前一样的问题。我现在需要做些什么,我有这些应用程序?我仍然使用PyCharm来运行我的Python代码吗? –

+0

问题与以前相同吗? NameError:name'datafinal'未定义?它与Jupyter无关,在您尝试打印之前,不要在您的代码中注释'''datafinal = pd.concat([data1,data2,data3])'''。你读过“变量和范围”文章吗? – wombatonfire

+0

谢谢你的帮助。我安装了Jupyter并花了一些时间去理解它......这正是我所期待的。 –