# How to Perform Fisher’s Exact Test in Python

Fisher's exact test is a statistical test used to determine if there is a significant association between two categorical variables. It is commonly used in medical research, genetics, and other fields where small sample sizes are common. In Python, we can perform Fisher's exact test using the `scipy.stats` module.

Here's an example of how to perform Fisher's exact test in Python:

``````from scipy.stats import fisher_exact

# create a contingency table
table = [[10, 5], [3, 8]]

# perform Fisher's exact test
odds_ratio, p_value = fisher_exact(table)

print("Odds ratio:", odds_ratio)
print("p-value:", p_value)
``````

In this example, we first create a contingency table with two rows and two columns. The rows represent the two categories we are interested in, and the columns represent the two possible outcomes for each category. We then pass this table to the `fisher_exact` function, which returns the odds ratio and p-value for the test.

Another way to perform Fisher's exact test in Python is to use the `statsmodels` module. Here's an example:

``````import statsmodels.api as sm

# create a contingency table
table = [[10, 5], [3, 8]]

# perform Fisher's exact test
result = sm.stats.Table2x2(table).fisher_exact()

print("Odds ratio:", result)
print("p-value:", result)
``````

In this example, we first import the `statsmodels` module and create a contingency table. We then pass this table to the `Table2x2` function, which creates a 2x2 contingency table object. We can then call the `fisher_exact` method on this object to perform the test and get the odds ratio and p-value.

Both of these methods will give you the same results for Fisher's exact test. 