koifish
koifish

Reputation: 444

How do I get rid of the second indexing column in Pandas? (Python)

I'm trying to make a graph of pay against time. Here's what I've got:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('Pay051118_1.csv')
df.to_csv("Newcsv", columns = ['Dates worked', 'Pay'])
df = pd.read_csv('Newcsv', parse_dates = True, index_col = 0)

df = df.fillna(0)

df = ((df[['Dates worked','Pay']])[df.Pay > 1])
print (df)

df.plot()
plt.show()

Line 5 of the code got rid of one of the indexing columns for me. Without putting in the parse_dates and index_col parameter, I will get 2 columns of indexes. When I print (df), this is what I get:

                   Dates worked   Pay
0       Monday, 5 November 2018  44.5
2    Wednesday, 7 November 2018  44.5
3     Thursday, 8 November 2018  44.5
4       Friday, 9 November 2018  44.5
6      Sunday, 11 November 2018  50.5
7      Monday, 12 November 2018  62.0
8     Tuesday, 13 November 2018  38.5
9   Wednesday, 14 November 2018  65.5
10   Thursday, 15 November 2018  62.0
16  Wednesday, 21 November 2018  65.5
17   Thursday, 22 November 2018  62.0
18     Friday, 23 November 2018  65.5
20     Sunday, 25 November 2018  62.5
21     Monday, 26 November 2018  58.5
22    Tuesday, 27 November 2018  42.0
23  Wednesday, 28 November 2018  65.5
25     Friday, 30 November 2018  62.0

As you can see, the indexing column is still there. How can I get rid of it?

Upvotes: 1

Views: 84

Answers (3)

LOrD_ARaGOrN
LOrD_ARaGOrN

Reputation: 4516

Use below one.This will print without left most row of numbers which you dont want to see.

print df.to_string(index=False)

Upvotes: 1

Evan
Evan

Reputation: 2151

"""
Dates worked,Pay
Monday 5 November 2018,44.5
Wednesday 7 November 2018,44.5
Thursday 8 November 2018,44.5
Friday 9 November 2018,44.5
"""
import pandas as pd
pd.read_clipboard(sep=",").set_index("Dates worked")

If you don't want an auto-generated index, you'll need to set some other column as the index.

Upvotes: -1

Aditya Lahiri
Aditya Lahiri

Reputation: 419

Pandas dataframes always have an index but it is not real column, If you want to replace the index with simple sequential numbers, use df.reset_index().

Upvotes: 0

Related Questions