Skip to main content

Fieldwork

Make sense of unfamiliar tables before you start analyzing them. Fieldwork is a Python toolkit for researchers working with pandas: see how records fit together, investigate surprising patterns, and decide what to explore next.

A dataset often arrives as one large export, with repeated records, unevenly filled columns, and little explanation of how it was assembled. Before choosing what to count or compare, you need to understand what each row represents. Fieldwork helps you build that understanding and follow what you find back to the records themselves.

See how the table fits together

A laboratory export might mix information about people, samples, instruments, and measurements across dozens of columns. In the example below, those relationships are buried in 960 rows and 43 columns. Starting with identifiers such as participant and specimen IDs, Fieldwork builds a map that helps you see which details belong together and where repeated measurements enter the picture.

A map of a laboratory table: participants connect to specimens, instruments and assays connect to runs, and the branches meet at specimen measurements

That gives you a starting point for deciding how to group the data, what to count, and which records deserve a closer look. Try the laboratory example to build this map yourself from synthetic data.

Follow the questions that emerge

  • Get your bearings. Find groups of fields that appear together and identify how records repeat across the table.
  • Investigate a surprise. Follow a pattern to the rows that support it or the exceptions that need explaining.
  • Narrow your focus. Explore a particular site, group, or subset to understand how it differs from the rest of the data.
  • Build on what you learn. Share findings and figures, save an investigation, and revisit it when the next delivery arrives.

Start with your own data

pip install fieldwork

Load a table and get an overview of patterns worth exploring:

import pandas as pd
import fieldwork as fw

df = pd.read_csv("your-data.csv")
overview = fw.explore(df)
print(overview)

For large tables, use fw.explore(df, progress=True) to see the current phase, completed work, and elapsed time in a terminal or notebook.

Follow the first investigation to go from an overview to examining individual records, or work through the guided notebook. The documentation covers the tools you can use as your questions become more specific.

Fieldwork 0.2.1 is an alpha release for Python 3.11–3.14, with pandas and NumPy as its only required runtime dependencies.

See the 0.2.1 release notes for a value-pattern fix and a test suite that checks analyses against independent recomputation, and the 0.2.0 release notes for ranked investigation leads, support for columns with unsupported values, faster source checks, and saved-result compatibility changes.

For contributing and local setup, see the developer documentation. Fieldwork is MIT licensed; see NOTICE for project provenance.

Metadata

Release files for fieldwork 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fieldwork 0.2.1
File Size Uploaded Provenance
fieldwork-0.2.1.tar.gz 1.5 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for fieldwork 0.2.1
File Interpreter ABI Platform
fieldwork-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.7 MB

Release files / fieldwork-0.2.1.tar.gz

Download URL fieldwork-0.2.1.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
ab7d27bd8cb93e131b8b065e9d80de64ac6b4a77c51abb88c5f5520a10838b6d
BLAKE2b-256 checksum
How to use checksums
b164903d057a3b731cdf6358c05dba84934fa85a9bac4a02a4e1b46641ef4eb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / fieldwork-0.2.1-py3-none-any.whl

Download URL fieldwork-0.2.1-py3-none-any.whl
Size 141.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4575d90eaa4375b61a5c7b315588fd0d4a042b163d8a5e2ee355c875f3702362
BLAKE2b-256 checksum
How to use checksums
6b6e29fe900dc6e2057091b3b1c4f0c0e2480a4e29366c5fd5515534c3422289
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for fieldwork 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page