Skip to main content

GMP (Global Mind Project) mental health data analysis toolkit

Project description

globalmind

PyPI - Version PyPI - Python Version


Python pipeline for the Global Mind Project (GMP) — ingest, filter, profile, and classify mental health data collected through the Mind Health Quotient (MHQ).

Background

The Global Mind database contains mental health profiles from nearly 2 million internet-enabled respondents across 130+ countries in 17+ languages, with 1,000–2,000 new responses added each day. Data are collected using the Mind Health Quotient (MHQ) — an online assessment developed from a review of over 10,000 questions drawn from 126 commonly used mental health tools spanning 10 disorders. The MHQ consists of 47 items that rate individual aspects of mind health on a 1–9 scale, together with aggregate scores, demographics, and lifestyle/life‑context factors.

globalmind provides a pure‑Polars pipeline to go from raw CSV exports to DSM‑5 diagnostic classifications in a few lines of code. All operations are lazy (build a query plan, .collect() once at the end) for memory‑safe processing of the full dataset.

Features

Data loading & cleaning

  • read_table(path) — scan CSV with automatic N/A → null conversion, pipe‑delimited multi‑select splitting (21 columns), and stray‑pipe cleanup on single‑select categoricals.
  • clean_data(df) — apply four quality filters:
    • completion time ≥ 7 minutes
    • response variance across 47 rating items (std dev ≥ 0.2)
    • comprehension check (understanding ≠ "No")
    • countries with ≥ 1,000 responses

205‑column schema

  • COLUMN_DESCRIPTIONS — dictionary mapping every column name to an English description with a Chinese gloss.
  • describe_column(name) — lookup helper.

Symptom identification & DSM‑5 mapping

  • identify_symptoms(df) — flags each of the 47 MHQ items as a clinical symptom per DSM‑5 thresholds:
    • Problem items (20): threshold ≥ 8 on a 1–9 severity scale
    • Spectrum items (27): threshold ≤ 1 (challenge end of the spectrum)
    • Adds 47 _symptom boolean columns + a symptom_count column.
  • mapping_to_DSM5(df) — data‑driven rule engine classifying 10 disorder categories: Depression, Anxiety, Bipolar, PTSD, OCD, Schizophrenia, Eating Disorder, Addiction, ADHD, ASD.

Installation

pip install globalmind

Requires Python ≥ 3.10 and polars ≥ 1.0.

Quick start

from globalmind import (
    read_table, clean_data,
    identify_symptoms, mapping_to_DSM5,
)

df = read_table("gmp_data.csv")
df = clean_data(df)
df = identify_symptoms(df)
df = mapping_to_DSM5(df)
df.collect()  # all operations are lazy

References

  • Data cleaning criteria — Bala, Jerzy, Oleksii Sukhoi, Jennifer Jane Newson, Priscila Pereira Machado, Mark Lawrence, and Tara C. Thiagarajan. "Estimation of the Nature and Magnitude of Mental Distress in the Population Associated with Ultra-Processed Food Consumption." Frontiers in Nutrition 12 (November 2025): 1562286. https://doi.org/10.3389/fnut.2025.1562286
  • Symptom thresholds & DSM‑5 mapping — Newson, Jennifer Jane, Vladyslav Pastukh, and Tara C. Thiagarajan. "Poor Separation of Clinical Symptom Profiles by DSM-5 Disorder Criteria." Frontiers in Psychiatry 12 (November 2021): 775762. https://doi.org/10.3389/fpsyt.2021.775762

License

globalmind is distributed under the terms of the MIT license.

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

globalmind-0.0.1.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

globalmind-0.0.1-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file globalmind-0.0.1.tar.gz.

File metadata

  • Download URL: globalmind-0.0.1.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"ci":null,"cpu":"x86_64","distro":{"id":"resolute","libc":{"lib":"glibc","version":"2.43"},"name":"Ubuntu","version":"26.04"},"implementation":{"name":"CPython","version":"3.10.20"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.6.2 7 Apr 2026","python":"3.10.20","system":{"name":"Linux","release":"7.0.0-22-generic"}} HTTPX2/2.4.0

File hashes

Hashes for globalmind-0.0.1.tar.gz
Algorithm Hash digest
SHA256 2ab129b7f22fe555919e9f1af5add75464d7bcb8c6d9fea293d5d1cb078e8b32
MD5 52c590d6f0ad516ec7ae0969b413d9fe
BLAKE2b-256 3fef2ee372e8bff8a30c59e03dbbff35fbc1e34525a704138bc1cfddedc74066

See more details on using hashes here.

File details

Details for the file globalmind-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: globalmind-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"ci":null,"cpu":"x86_64","distro":{"id":"resolute","libc":{"lib":"glibc","version":"2.43"},"name":"Ubuntu","version":"26.04"},"implementation":{"name":"CPython","version":"3.10.20"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.6.2 7 Apr 2026","python":"3.10.20","system":{"name":"Linux","release":"7.0.0-22-generic"}} HTTPX2/2.4.0

File hashes

Hashes for globalmind-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 160c02e300465589257bc31955f73f5811ab6d94c30c9abb241b352844ee8934
MD5 e9475d72cd57dafc14cbb3fca2b81075
BLAKE2b-256 2d6aecea7f75cf44892e575131470da88fcbef3e45481c72fa12ae4468821d85

See more details on using hashes here.

Supported by

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