Reputation: 479
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
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: 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
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
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