×

Python Tutorial

Python Basics

Python I/O

Python Operators

Python Conditions & Controls

Python Functions

Python Strings

Python Modules

Python Lists

Python OOPs

Python Arrays

Python Dictionary

Python Sets

Python Tuples

Python Exception Handling

Python NumPy

Python Pandas

Python File Handling

Python WebSocket

Python GUI Programming

Python Image Processing

Python Miscellaneous

Python Practice

Python Programs

How to create a contingency table in Python?

By Shivang Yadav Last updated : November 21, 2023

Contingency Table

A contingency table is a table that represents the relationship between two categorical tables. It shows the frequency distribution of variables along with their relationships.

Creating Contingency Table

Python allows programmers to create a contingency table for tables present in a dataset. To create a contingency table, use the pandas.crosstab() method which computes simple cross-tabulation of two (or more) factors.

Syntax

pandas.crosstab(index, columns, value=None, rownames=None, column=None, aggfunc=None,
margins=False, margin_name= 'All', dropna=True, normalize=False)

Parameters

  • index: values to group by in rows, (series/list/array/series)
  • columns: values to group by in columns, (series/list/array/series)
  • values (optional): values to aggregate based on factors defined by aggfunc.
  • rowname (default value - none): sequence of names for rows, the count must be equal to the number of rows passed.
  • column (default value - none): The sequence of names for column count must be equal to the number of columns passed.
  • aggfunction (optional): aggregate function to be specified with values parameter.
  • margin (value - boolean, default-False): States whether to add a row/column displaying subtotal to the result.
  • margins_name (value - str, default - 'All'): States which row or column will contain the totals when the margin is True.
  • dropNa (value - boolean, default - True): States whether or to not include columns with NaN values.
  • normalize: States weather to normalize values by dividing with the sum of values.

Example: Python program to create a contingency table

# Program to create a contingency table
import pandas as pd

# Create data
df = pd.DataFrame(
    {
        "Sport": [
            "Cricket",
            "Football",
            "BasketBall",
            "Cricket",
            "Cricket",
            "BasketBall",
            "Cricket",
            "Football",
        ],
        "Rating": ["A", "B", "A", "B", "B", "A", "C", "B"],
    }
)

print("Table data \n", df)
conTable = pd.crosstab(index=df["Sport"], columns=df["Rating"])

print("Contingency table \n", conTable)

Output

The output of the above program is:

Table data 
         Sport Rating
0     Cricket      A
1    Football      B
2  BasketBall      A
3     Cricket      B
4     Cricket      B
5  BasketBall      A
6     Cricket      C
7    Football      B
Contingency table 
 Rating      A  B  C
Sport              
BasketBall  2  0  0
Cricket     1  2  1
Football    0  2  0

Python Pandas Programs »

Advertisement
Advertisement

Comments and Discussions!

Load comments ↻


Advertisement
Advertisement
Advertisement

Copyright © 2025 www.includehelp.com. All rights reserved.