lil
lil

Reputation: 479

How to hide or remove all headers from a pandas DataFrame

I want to delete to just column name (x,y,z), and display only the data.

In [68]: df
Out[68]: 
   x  y  z
0  1  0  1  
1  2  0  0 
2  2  1  1 
3  2  0  1 
4  2  1  0

I want to print result to same as below.

Out[68]: 

0  1  0  1  
1  2  0  0 
2  2  1  1 
3  2  0  1 
4  2  1  0

Is it possible? How can I do this?

Upvotes: 30

Views: 146783

Answers (5)

Rohan
Rohan

Reputation: 31

First find the number of columns by:

df.shape  # it helps you to know the total no of columns you have (as well as rows)

Lets say shape is (188,8):

df.columns = np.arange(8)  #here we have `8` columns

This makes the columns as int64 starting from 0 to 7 .

Upvotes: 3

江祐宏
江祐宏

Reputation: 5

You can use this:

df.name = None

Upvotes: -2

Sajin Sabu
Sajin Sabu

Reputation: 109

If you need to remove the header alone, uses '.values'.

df = df[:].values

But the above code will return a numpy array instead of dataframe. Converting the same again into dataframe will add default values to column names (0,1..).

Upvotes: 9

jezrael
jezrael

Reputation: 862611

In pandas by default need column names.

But if really want 'remove' columns what is strongly not recommended, because get duplicated column names is possible assign empty strings:

df.columns = [''] * len(df.columns)

But if need write df to file without columns and index add parameter header=False and index=False to to_csv or to_excel.

df.to_csv('file.csv', header=False, index=False)

df.to_excel('file.xlsx', header=False, index=False)

Upvotes: 44

AChampion
AChampion

Reputation: 30258

If all you need is to print out without the headers then you can use the to_string() and set header=False, e.g.:

>>> print(df.to_string(header=False))
0  1  0  1
1  2  0  0
2  2  1  1
3  2  0  1
4  2  1  0

Upvotes: 14

Related Questions