22

I'm trying to get my data head to display but I get an error message: NameError: name 'display' undefined

import pandas as pd
data = pd.DataFrame(data=[tweet.text for tweet in tweets], columns=['Tweets'])

display(data.head(10))

Any ideas on how to fix this?

cs95
  • 274,032
  • 76
  • 480
  • 537
Matt Wonderwall
  • 331
  • 1
  • 2
  • 8
  • https://docs.python.org/3/tutorial/inputoutput.html – cs95 Mar 16 '18 at 19:47
  • The normal Python3 display is : `print(data)`. Or in an interactive session just type `data`. – hpaulj Mar 16 '18 at 21:10
  • This question became relevant when I used VSCode to convert .ipynb to .py. The line `from IPython.display import display` was needed. – BSalita Jun 15 '20 at 19:33

2 Answers2

32

display is a function in the IPython.display module that runs the appropriate dunder method to get the appropriate data to ... display. If you really want to run it

from IPython.display import display
import pandas as pd

data = pd.DataFrame(data=[tweet.text for tweet in tweets], columns=['Tweets'])

display(data.head(10))

But don't. IPython is already doing that for you. Just do:

data.head(10)

You even might have IPython uninstalled, try:

pip install IPython

or if running pip3:

pip3 install IPython
micstr
  • 4,191
  • 6
  • 38
  • 63
piRSquared
  • 240,659
  • 38
  • 359
  • 510
  • Shouldn't the solution be on top to avoid confusion? "IPython is already doing that for you. Just do:..." – LabGecko May 28 '19 at 10:15
2

To solve the problem on pycaret, you have to open the below file -

..\env\Lib\site-packages\pycaret\datasets.py

and add the line of code -

from IPython.display import display
Abhishek Bhagate
  • 5,033
  • 3
  • 10
  • 29