How to Create a Bar Plot in Python Using a Pandas DataFrame

To create a bar plot in Python using a Pandas DataFrame, you can use the plot() function from Pandas with the kind parameter set to 'bar'. Here’s a step-by-step guide:

1. Import the necessary libraries:

import pandas as pd
import matplotlib.pyplot as plt

    2. Create or load your DataFrame:

    data = {'Category': ['A', 'B', 'C', 'D'],
            'Values': [10, 25, 15, 30]}
    df = pd.DataFrame(data)

    3. Create the bar plot using the plot() function:

    df.plot(x='Category', y='Values', kind='bar')

    4. Customize the plot (optional):

    plt.title('Bar Plot')
    plt.xlabel('Category')
    plt.ylabel('Values')
    plt.xticks(rotation=45)  # Rotate x-axis labels by 45 degrees

    5. Display the plot:

    plt.show()

    Full Code Example

    import pandas as pd
    import matplotlib.pyplot as plt
    
    data = {'Category': ['A', 'B', 'C', 'D'],
            'Values': [10, 25, 15, 30]}
    df = pd.DataFrame(data)
    
    df.plot(x='Category', y='Values', kind='bar')
    
    plt.title('Bar Plot')
    plt.xlabel('Category')
    plt.ylabel('Values')
    plt.xticks(rotation=45)
    
    plt.show()
     Bar Plot

    Sales Analysis

    To visualize total sales for each region from a DataFrame, create a bar plot with regions on the x-axis and sales figures as bar heights. This plot clearly compares sales performance across regions, aiding in sales analysis and decision-making.

    import pandas as pd
    import matplotlib.pyplot as plt
    
    # Create a sample sales DataFrame
    data = {'Region': ['North', 'South', 'East', 'West'],
            'Sales': [1000, 1500, 800, 1200]}
    df = pd.DataFrame(data)
    
    # Create the bar plot
    df.plot(x='Region', y='Sales', kind='bar')
    
    plt.title('Sales by Region')
    plt.xlabel('Region')
    plt.ylabel('Total Sales')
    plt.xticks(rotation=45)
    
    plt.show()
    Sales Analysis region from a DataFrame

    Student Exam Scores

    To visualize student exam scores from a DataFrame, create a bar plot with student names on the x-axis and scores as bar heights. Use plt.text() to label each bar with the score for better readability. This plot visually represents individual student performance, facilitating easy comparison and identification of high and low scorers.

    import pandas as pd
    import matplotlib.pyplot as plt
    
    # Create a sample student scores DataFrame
    data = {'Student': ['John', 'Emily', 'Michael', 'Jessica', 'David'],
            'Score': [85, 92, 78, 88, 90]}
    df = pd.DataFrame(data)
    
    # Create the bar plot
    df.plot(x='Student', y='Score', kind='bar')
    
    plt.title('Student Exam Scores')
    plt.xlabel('Student')
    plt.ylabel('Score')
    plt.xticks(rotation=45)
    
    # Add value labels on top of each bar
    for i, v in enumerate(df['Score']):
        plt.text(i, v+1, str(v), ha='center')
    
    plt.tight_layout()
    plt.show()
    Student Exam Scores bar plot