2015-10-11 2 views
3

У меня проблема с печатью данных. Я бегу следующий код Python:участок в Пандах сразу же закрывается

import pandas as pd 
df = pd.read_csv("table.csv") 

values = df["blah"] 
values.plot() 
print 1 

df['blahblah'].plot() 
print 2 

Мой результат:

50728417:Desktop evgeniy$ python test2.py 
1 
2 
50728417:Desktop evgeniy$ 

И, наконец, я вижу, как запускает значок питона (? Изображение ракеты, кстати, что это) в моем доке (используя mac os), а затем он исчезает. Печатные номера 1,2 показывают, что ошибок не существует. Поэтому не знаю, что делать дальше.

ответ

9

Проблема в том, что pandas's DataFrame.plot не блокирует. Поэтому цифры закрываются, когда заканчивается ваша программа. Панды использует Matplotlib внутренне, так что вы можете обойти это путем вызова matplotlib.pyplot.show с block=True так:

import pandas as pd 
import matplotlib.pyplot as plt 

df = pd.read_csv("table.csv") 

values = df["blah"] 
values.plot() 
print 1 

df['blahblah'].plot() 
print 2 
plt.show(block=True) 

Таким образом, программа завершится только тогда, когда plt.show возвращается, что после того как вы закрыли все цифры.

Смежные вопросы