Skip to main content

fishersapi: An API for applying a fast Fisher's Exact Test to variable pairs in pandas DataFrames

Project description

fishersapi

Build Status

A package for applying a fast implementation of Fisher's exact test to observations in a pandas DataFrame.

Contingency tables are computed based on all pairs of columns in cols and all pairs of unique values within the columns. The results are tested against scipy.stats.fishers_exact and fallback on scipy if numba is not avilable.

Installation

The package is compatible with Python 3 and can be installed from PyPI or cloned and installed directly.

pip install fishersapi

Example

import fishersapi

a = np.random.randint(1, 50, size=n)
b = np.random.randint(1, 50, size=n)
c = np.random.randint(1, 100, size=n)
d = np.random.randint(1, 100, size=n)
    
ORs, pvalues = fishersapi.fishers_vec(a, b, c, d, alternative='two-sided')

n = 50
df = pd.DataFrame({'VA':np.random.choice(['TRAV14', 'TRAV12', 'TRAV3', 'TRAV23', 'TRAV11', 'TRAV6'], n),
                   'JA':np.random.choice(['TRAJ4', 'TRAJ2', 'TRAJ3','TRAJ5', 'TRAJ21', 'TRAJ13'], n),
                   'VB':np.random.choice(['TRBV14', 'TRBV12', 'TRBV3', 'TRBV23', 'TRBV11', 'TRBV6'], n),
                   'JB':np.random.choice(['TRBJ4', 'TRBJ2', 'TRBJ3','TRBJ5', 'TRBJ21', 'TRBJ13'], n)})
df = df.assign(Count=1)
df.loc[:10, 'Count'] = 15

res = fishersapi.fishers_frame(df, ['VA', 'JA', 'VB', 'JB'], count_col=None, alternative='two-sided')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fishersapi-1.0.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

fishersapi-1.0-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file fishersapi-1.0.tar.gz.

File metadata

  • Download URL: fishersapi-1.0.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.5

File hashes

Hashes for fishersapi-1.0.tar.gz
Algorithm Hash digest
SHA256 d1c294e00376d6af3f9f98a51b1425546717cd85ef7f66da96ba608a56460df4
MD5 46f92708873559a294c13f863892bba6
BLAKE2b-256 9794869110c39930d1ba32dda863ca07f6d383290c6017de165b9ef5d7bbe466

See more details on using hashes here.

File details

Details for the file fishersapi-1.0-py3-none-any.whl.

File metadata

  • Download URL: fishersapi-1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.5

File hashes

Hashes for fishersapi-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ffcbbc41fe8411675e5a1cc2a09f655f5311b8d4b22afd64054a8120ef483451
MD5 7736ae83c15713519451d75a4439ce4b
BLAKE2b-256 db08a88d5b618bf2ae23f806403a803791655f9794b140f7f2b0c9a5251230d7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page