w3resource

Pandas DataFrame: Create and display a DataFrame from a specified dictionary data which has the index labels


2. DataFrame with Specified Index Labels

Write a Pandas program to create and display a DataFrame from a specified dictionary data which has the index labels.

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(df)

Sample Output:

   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 creates a Pandas DataFrame ‘df’ containing information about exam scores of ten students, with columns name, score, attempts, and qualify, and row labels 'a' to 'j'.

  • The name column contains the names of the students.
  • The score column contains the exam scores of the students.
  • The attempts column contains the number of attempts made by the students to pass the exam.
  • The qualify column contains whether the students have qualified for the exam or not.

The DataFrame is created using a Python dictionary ‘exam_data’ and the index parameter is used to specify the row labels.

Finally, the DataFrame is printed using the print function.


For more Practice: Solve these Related Problems:

  • Write a Pandas program to create a DataFrame from a dictionary with custom index labels, then reassign new index labels based on a mathematical function.
  • Write a Pandas program to create a DataFrame from a dictionary and use a list of strings as index labels, then sort the DataFrame by these indices.
  • Write a Pandas program to create a DataFrame with non-sequential index labels and then fill missing index positions with default rows.
  • Write a Pandas program to create a DataFrame with specified index labels and then reverse the order of these labels.

Go to:


Previous: Write a Pandas program to display the following data column wise.
Next: Write a Pandas program to display a summary of the basic information about a specified DataFrame and its data.

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.



Follow us on Facebook and Twitter for latest update.