head() prints the indexes.
dataframe.to_string(index=False,max_rows=10) prints the first 5 and last 5 rows.
            Asked
            
        
        
            Active
            
        
            Viewed 3.0k times
        
    4
            
            
         
    
    
        MarianD
        
- 13,096
- 12
- 42
- 54
 
    
    
        CornyBunches
        
- 41
- 1
- 1
- 2
- 
                    print(ndf.head().style.hide_index()) just prints the following:– CornyBunches Feb 22 '20 at 22:12 
- 
                    **Omit `print()`**, use **only** `ndf.head().style.hide_index()`. — You have to work in Jupyter Notebook (or JupyterLab) environment. See [my answer](https://stackoverflow.com/a/60357424/7023590). – MarianD Feb 22 '20 at 22:49
2 Answers
5
            
            
        You should try this :
print(df.head(n=10).to_string(index=False))
This will work because df.head return a Dataframe object so you can apply the to_string method to it and get rid of that index ^^.
 
    
    
        Omar Aldakar
        
- 505
- 2
- 8
2
            
            
        If you like complicated solutions, you may use
[print(row) for row in df.head().to_string(index=False).split("\n")]
The explanation:
- df.head().to_string(index=False)returns a string with- "\n"as row delimiters,
- split()method then returns a list of single rows,
- [print(row) for row in ...]then prints every row.
It was a joke, of course, albeit giving you the desired result. Printing it as a whole string will give the same result (as every row ends with "\n"):
print(df.head().to_string(index=False))
If you work with Jupyter Notebook, you may use a nicer command
df.head().style.hide_index()
Be careful!
No print(...), no df = .... The returning object is an object of the Styler class, not a dataframe.
Jupyter Notebook IDE automatically calls its method ._repr_html() to render (display) your table.
See my other answer for details.
 
    
    
        MarianD
        
- 13,096
- 12
- 42
- 54