Skip to content

Explore populated values

Once you know which fields are filled in, look at what they contain. Use df and fw from Getting started to explore the image columns:

patterns = fw.value_patterns(df, features=["image_1", "image_2"])
summaries = patterns.to_frame("summaries")
print(
summaries[["feature", "populated", "missing"]].to_string(
index=False
)
)
feature populated missing
image_1 6 0
image_2 5 1
findings = patterns.to_frame("findings")
print(findings[["id", "statement"]].to_string(index=False))
id statement
f0 image_1: numeric range and observed spacing
f1 image_2: numeric range and observed spacing
f2 Indexed family: image_1, image_2
f3 image_2 has a constant offset relative to image_1

In this constructed example, the second image value is two greater than the first wherever both are present. That is a lead to investigate in real data, rather than a reason to fill the missing image value automatically.

Fieldwork also recognizes image_1 and image_2 as a family of indexed names. Similar names alone do not show that columns contain equivalent values.

For strings, summaries show lengths, three-character prefixes, and formats such as A-9 for a run of letters followed by a hyphen and digits. For numbers, they show finite ranges, observed spacing, and possible constant offsets or ratios between columns.

Ratio checks exclude zero denominators. Numerical pair checks need at least two finite paired rows and use floating-point tolerances. The result records how many rows were included and excluded.

Add by=["exam"] to ask whether a field stays constant within each exam. To investigate which columns determine others and retrieve disagreements, use dependency discovery.

The sensor walkthrough follows format differences and unit conversions back to individual records. For simple distributions, start with levels; use joint_counts to count combinations of two fields.