w3resource

Pandas: Using index set value in a specific cell in a given dataframe


8. Set Value in Specific Cell using Index

Write a Pandas program to set value in a specific cell in a given dataframe using index.

Test Data:

0        s001     V  Alberto Franco     15/05/2002      35  street1   t1
1        s002     V    Gino Mcneill     17/05/2002      32  street2   t2
2        s003    VI     Ryan Parkes     16/02/1999      33  street3   t3
3        s001    VI    Eesha Hinton     25/09/1998      30  street1   t4
4        s002     V    Gino Mcneill     11/05/2002      31  street2   t5
5        s004    VI    David Parkes     15/09/1997      32  street4   t6

Sample Solution:

Python Code :

import pandas as pd
df = pd.DataFrame({
    'school_code': ['s001','s002','s003','s001','s002','s004'],
    'class': ['V', 'V', 'VI', 'VI', 'V', 'VI'],
    'name': ['Alberto Franco','Gino Mcneill','Ryan Parkes', 'Eesha Hinton', 'Gino Mcneill', 'David Parkes'],
    'date_of_birth': ['15/05/2002','17/05/2002','16/02/1999','25/09/1998','11/05/2002','15/09/1997'],
    'weight': [35, 32, 33, 30, 31, 32]},
     index = ['t1', 't2', 't3', 't4', 't5', 't6'])
print("Original DataFrame:")
print(df)
print("\nSet school code 's004' to 's005':")
df.at['t6', 'school_code'] = 's005'
print(df)
print("\nSet date_of_birth of 'Alberto Franco' to '16/05/2002':")
df.at['t1', 'date_of_birth'] = '16/05/2002'
print(df)

Sample Output:

Original DataFrame:
   school_code class            name date_of_birth  weight
t1        s001     V  Alberto Franco    15/05/2002      35
t2        s002     V    Gino Mcneill    17/05/2002      32
t3        s003    VI     Ryan Parkes    16/02/1999      33
t4        s001    VI    Eesha Hinton    25/09/1998      30
t5        s002     V    Gino Mcneill    11/05/2002      31
t6        s004    VI    David Parkes    15/09/1997      32

Set school code 's004' to 's005':
   school_code class            name date_of_birth  weight
t1        s001     V  Alberto Franco    15/05/2002      35
t2        s002     V    Gino Mcneill    17/05/2002      32
t3        s003    VI     Ryan Parkes    16/02/1999      33
t4        s001    VI    Eesha Hinton    25/09/1998      30
t5        s002     V    Gino Mcneill    11/05/2002      31
t6        s005    VI    David Parkes    15/09/1997      32

Set date_of_birth of 'Alberto Franco' to '16/05/2002':
   school_code class            name date_of_birth  weight
t1        s001     V  Alberto Franco    16/05/2002      35
t2        s002     V    Gino Mcneill    17/05/2002      32
t3        s003    VI     Ryan Parkes    16/02/1999      33
t4        s001    VI    Eesha Hinton    25/09/1998      30
t5        s002     V    Gino Mcneill    11/05/2002      31
t6        s005    VI    David Parkes    15/09/1997      32  

For more Practice: Solve these Related Problems:

  • Write a Pandas program to update a particular cell in a DataFrame using the .loc accessor with a given index.
  • Write a Pandas program to set a new value for a cell identified by its index and column label, then display the modified row.
  • Write a Pandas program to modify a cell's value using the index and then compare the DataFrame before and after the update.
  • Write a Pandas program to use the .at accessor to change the value of a specific cell and then output the updated DataFrame.

Go to:


Previous: Write a Pandas program to create a dataframe and set a title or name of the index column.
Next: Write a Pandas program to convert index of a given dataframe into a column.

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.