Pandas DataFrame: Append a new row 'k' to DataFrame with given values for each column
15. Appending and Deleting a New Row
Write a Pandas program to append a new row 'k' to DataFrame with given values for each column. Now delete the new row and return the original data frame.
Sample DataFrame:
exam_data = {'name': ['Anastasia', 'Dima', 'Katherine', 'James', 'Emily', 'Michael', 'Matthew', 'Laura', 'Kevin', 'Jonas'],
'score': [12.5, 9, 16.5, np.nan, 9, 20, 14.5, np.nan, 8, 19],
'attempts': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],
'qualify': ['yes', 'no', 'yes', 'no', 'no', 'yes', 'yes', 'no', 'no', 'yes']}
labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
Values for each column will be:
name : ‘Suresh’, score: 15.5, attempts: 1, qualify: ‘yes’, label: ‘k’
Sample Solution :
Python Code :
Sample Output:
Original rows: attempts name qualify score a 1 Anastasia yes 12.5 b 3 Dima no 9.0 c 2 Katherine yes 16.5 d 3 James no NaN e 2 Emily no 9.0 f 3 Michael yes 20.0 g 1 Matthew yes 14.5 h 1 Laura no NaN i 2 Kevin no 8.0 j 1 Jonas yes 19.0 Append a new row: Print all records after insert a new record: attempts name qualify score a 1 Anastasia yes 12.5 b 3 Dima no 9.0 c 2 Katherine yes 16.5 d 3 James no NaN e 2 Emily no 9.0 f 3 Michael yes 20.0 g 1 Matthew yes 14.5 h 1 Laura no NaN i 2 Kevin no 8.0 j 1 Jonas yes 19.0 k 1 Suresh yes 15.5 Delete the new row and display the original rows: attempts name qualify score a 1 Anastasia yes 12.5 b 3 Dima no 9.0 c 2 Katherine yes 16.5 d 3 James no NaN e 2 Emily no 9.0 f 3 Michael yes 20.0 g 1 Matthew yes 14.5 h 1 Laura no NaN i 2 Kevin no 8.0 j 1 Jonas yes 19.0
Explanation:
The above code first creates a Pandas DataFrame 'df' using the dictionary 'exam_data' and index labels 'labels'.
df.loc['k'] = [1, 'Suresh', 'yes', 15.5]: This line adds a new row to the DataFrame with index label 'k' and values [1, 'Suresh', 'yes', 15.5].
df = df.drop('k'): This line drops the newly added row using the drop method of DataFrame and assigns the resulting DataFrame back to the same variable ‘df’.
For more Practice: Solve these Related Problems:
- Write a Pandas program to append a new row to a DataFrame with given values and then remove it by its index label.
- Write a Pandas program to add a temporary row to the DataFrame, perform a calculation, and then delete the temporary row.
- Write a Pandas program to insert a new row, verify its addition, and then revert to the original DataFrame using drop.
- Write a Pandas program to append a new row with custom values and then check if the new row exists before deleting it.
Go to:
Previous: Write a Pandas program to calculate the mean of all students' scores. Data is stored in a dataframe.
Next: Write a Pandas program to sort the data frame first by 'name' in descending order, then by 'score' in ascending order.
Python-Pandas 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.