2017-02-18 4 views
-1

создать фрейм данных следующим образом (я использую PyCharm и Python 3.6):Почему мой панды dataframe не определен

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.

THEN, я прокомментировал строки кода, которые я только что использовал, используя # и добавив новую строку кода, чтобы получить типы 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 «/ Users/MyName/Desktop/Python3/Импорт данных. py " Traceback (последний последний звонок): Файл"/Users/myname/Desktop/Python3/Import Data.py ", строка 17, в print (datafinal.dtypes) NameError: имя 'datafinal' не определено

Процесс закончил с кодом завершения 1

почему это происходит? ПОЧЕМУ Я НЕ ПРОДОЛЖАЮТ ПРОДОЛЖИТЬ РАБОТУ ПО DataFinal БЕЗ РАБОТЫ ВСЕГО КОДА КАЖДЫЙ? ВСЕ ПОМОЩЬ ВЕЛИКОЕ ПРИЗНАНО.

ответ

0

Я рекомендую прочитать о variables and scope в Python.

У вас есть автономный скрипт, в котором вы определяете глобальную переменную datafinal. Эта переменная видна только во время жизни скрипта и не сохраняется между вашими первой и второй попытками. Когда вы запускаете свой скрипт во второй раз, после того, как вы прокомментировали все, кроме последнего, вы пытаетесь получить доступ к разнице, которая не существует.

Если вы хотите исследовать свои данные поэтапно, посмотрите на Jupyter Notebook. Один из способов получить это - использовать распределение Anaconda Python.

+0

Спасибо. Я очень новичок в Python. Поэтому я считаю, что у меня установлена ​​анаконда и юпитер. В моем терминале был установлен pip --upgrade pip и получил ответ «Требование уже обновлено: pip в /anaconda/lib/python2.7/site-packages». Затем я попытался установить jupyter и перейти к сообщению «Требование уже выполнено: jupyter in /anaconda/lib/python2.7/site-packages». У меня все еще такая же проблема, как раньше. Нужно ли мне теперь делать что-то еще, что у меня есть эти приложения? Я все еще использую PyCharm для запуска моего кода Python? –

+0

Какая же проблема, как раньше? NameError: имя 'datafinal' не определено? Это не имеет никакого отношения к Jupyter, просто не комментируйте '' 'datafinal = pd.concat ([data1, data2, data3])' '' в своем коде, прежде чем пытаться его распечатать. Вы читали статью «Переменные и область действия»? – wombatonfire

+0

Благодарим вас за помощь. Я установил Jupyter и потратил некоторое время на понимание этого ... это именно то, что я искал. –