function create_data_quality_dashboard_v1
Creates an interactive data quality dashboard for analyzing treatment timing issues in poultry flock management data by loading and processing CSV files containing timing anomalies.
/tf/active/vicechatdev/data_quality_dashboard.py
76 - 102
moderate
Purpose
This function serves as the main entry point for a data quality dashboard that visualizes and analyzes treatment timing issues in poultry flock data. It loads pre-generated CSV files containing treatments administered before flock start dates, after flock end dates, severe timing issues, and flocks with timing problems. The function is designed to help identify and investigate data quality issues in treatment administration records.
Source Code
def create_data_quality_dashboard():
"""Create an interactive data quality dashboard."""
print("TREATMENT TIMING DATA QUALITY DASHBOARD")
print("=" * 50)
# Dataset selection
dataset_choice = select_dataset()
if dataset_choice is None:
return
# Load data
try:
before_start = pd.read_csv("/tf/active/timing_analysis_output/treatments_before_start.csv")
after_end = pd.read_csv("/tf/active/timing_analysis_output/treatments_after_end.csv")
severe_cases = pd.read_csv("/tf/active/timing_analysis_output/severe_timing_issues.csv")
flocks_issues = pd.read_csv("/tf/active/timing_analysis_output/flocks_with_timing_issues.csv")
# Convert dates
before_start['AdministeredDate'] = pd.to_datetime(before_start['AdministeredDate'])
before_start['StartDate'] = pd.to_datetime(before_start['StartDate'])
after_end['AdministeredDate'] = pd.to_datetime(after_end['AdministeredDate'])
after_end['EndDate'] = pd.to_datetime(after_end['EndDate'])
except FileNotFoundError:
print("Error: Analysis output files not found. Please run the main analysis first.")
return
Return Value
Returns None. The function operates through side effects by printing dashboard information to console and potentially displaying visualizations. Returns early (None) if dataset selection is cancelled or if required CSV files are not found.
Dependencies
pandasmatplotlibseaborndatetimewarningsos
Required Imports
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from datetime import datetime
import warnings
import os
Usage Example
# Ensure the required CSV files exist in the expected directory
# and the select_dataset() function is defined
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from datetime import datetime
import warnings
import os
# Define the select_dataset function (example implementation)
def select_dataset():
print("Select dataset: 1) Dataset A, 2) Dataset B")
choice = input("Enter choice (1 or 2): ")
return choice if choice in ['1', '2'] else None
# Call the dashboard function
create_data_quality_dashboard()
# The function will:
# 1. Print a dashboard header
# 2. Prompt for dataset selection
# 3. Load and process timing analysis CSV files
# 4. Convert date columns to datetime format
# 5. Display data quality metrics (implementation continues beyond shown code)
Best Practices
- Ensure all required CSV files are generated by running the main timing analysis before calling this function
- The function expects specific CSV file structure with 'AdministeredDate', 'StartDate', and 'EndDate' columns
- Handle the FileNotFoundError gracefully by running prerequisite analysis scripts first
- The select_dataset() function must be defined in the same scope before calling this function
- Consider wrapping the function call in a try-except block to handle unexpected data format issues
- Ensure sufficient file system permissions for reading from '/tf/active/timing_analysis_output/' directory
- The function performs date parsing which may fail if date formats in CSV files are inconsistent
Tags
Similar Components
AI-powered semantic similarity - components with related functionality:
-
function create_data_quality_dashboard 93.7% similar
-
function analyze_temporal_trends 75.4% similar
-
function quick_clean 72.5% similar
-
function show_critical_errors 71.7% similar
-
function show_problematic_flocks 70.3% similar