import pandas as pd
my_dict={'NAME':['Ravi','Raju','Alex','Ron','King','Jack'],
'ID':[1,2,3,4,5,6],
'MATH':[80,40,70,70,70,30],
'ENGLISH':[80,70,40,50,60,30]}
my_data = pd.DataFrame(data=my_dict)
my_data.set_index('NAME')
print(my_data)
NAME ID MATH ENGLISH
0 Ravi 1 80 80
1 Raju 2 40 70
2 Alex 3 70 40
3 Ron 4 70 50
4 King 5 70 60
5 Jack 6 30 30
my_data.set_index('NAME',inplace=True)
print(my_data)
Output
ID MATH ENGLISH
NAME
Ravi 1 80 80
Raju 2 40 70
Alex 3 70 40
Ron 4 70 50
King 5 70 60
Jack 6 30 30
my_data_mod=my_data.set_index('NAME',drop=False)
print(my_data_mod)
Output
NAME ID MATH ENGLISH
NAME
Ravi Ravi 1 80 80
Raju Raju 2 40 70
Alex Alex 3 70 40
Ron Ron 4 70 50
King King 5 70 60
Jack Jack 6 30 30
ValueError: Index has duplicate keys: Index(['Ron'], dtype='object', name='NAME')
By changing like this verify_integrity=False we can supress the error and continue.
my_data_mod=my_data.set_index('NAME',verify_integrity=False)
print(my_data_mod)
Output
ID MATH ENGLISH
NAME
Ravi 1 80 80
Raju 2 40 70
Alex 3 70 40
Ron 4 70 50
King 5 70 60
Ron 6 30 30
my_data_mod=my_data.set_index('NAME',append=True)
print(my_data_mod)
Output is here
ID MATH ENGLISH
NAME
0 Ravi 1 80 80
1 Raju 2 40 70
2 Alex 3 70 40
3 Ron 4 70 50
4 King 5 70 60
5 Jack 6 30 30
Now let us make append=False
my_data_mod=my_data.set_index('NAME',append=False)
print(my_data_mod)
Output
ID MATH ENGLISH
NAME
Ravi 1 80 80
Raju 2 40 70
Alex 3 70 40
Ron 4 70 50
King 5 70 60
Jack 6 30 30
print(my_data.set_index('st_date')['2020-03'])
Similarly we can get all records between two periods like this.
print(my_data.set_index('st_date')['2019-03':'2019-04'])
You can get more examples of using date column at Exercise3
Author
🎥 Join me live on YouTubePassionate about coding and teaching, I publish practical tutorials on PHP, Python, JavaScript, SQL, and web development. My goal is to make learning simple, engaging, and project‑oriented with real examples and source code.