Pandas DataFrame: Calculate the sum of the examination attempts by the students
13. Summing Examination Attempts
Write a Pandas program to calculate the sum of the examination attempts by the students.
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']
Sample Solution :
Python Code :
import pandas as pd
import numpy as np
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']
df = pd.DataFrame(exam_data , index=labels)
print("\nSum of the examination attempts by the students:")
print(df['attempts'].sum())
Sample Output:
Sum of the examination attempts by the students: 19
Explanation:
The above code first creates a Pandas DataFrame ‘df’ from a Python dictionary ‘exam_data’, where the keys of the dictionary represent the column names and the values of the dictionary are lists representing the data in each column. The DataFrame is indexed with the values in the list labels.
print(df['attempts'].sum()): This line prints the sum of the values in the 'attempts' column using the sum() method of the Pandas Series object representing the 'attempts' column. This gives the total number of attempts made by all students.
For more Practice: Solve these Related Problems:
- Write a Pandas program to calculate the total number of examination attempts and then compare it with the sum of attempts per student.
- Write a Pandas program to compute the sum of the 'attempts' column and then add a new row showing this total.
- Write a Pandas program to sum the 'attempts' across all students and then verify the result by a manual aggregation.
- Write a Pandas program to calculate the sum of attempts and then output the percentage of attempts for each student relative to the total.
Python-Pandas Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a Pandas program to change the score in row 'd' to 11.5.
Next: Write a Pandas program to calculate the mean of all students' scores. Data is stored in a dataframe.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.