2017-02-18 64 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並花了一些時間去理解它......這正是我所期待的。 –