Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| import numpy as np | |
| import traceback | |
| def execute_python_query(df, query_type, params=None): | |
| try: | |
| if query_type == "unique_count": | |
| column = params["column"] | |
| return { | |
| "success": True, | |
| "result": int(df[column].nunique()) | |
| } | |
| elif query_type == "missing_values": | |
| result = ( | |
| df.isnull() | |
| .mean() | |
| .mul(100) | |
| .round(2) | |
| .to_dict() | |
| ) | |
| return { | |
| "success": True, | |
| "result": result | |
| } | |
| elif query_type == "top_values": | |
| column = params["column"] | |
| top_n = params.get("top_n", 10) | |
| result = ( | |
| df[column] | |
| .value_counts() | |
| .head(top_n) | |
| .to_dict() | |
| ) | |
| return { | |
| "success": True, | |
| "result": result | |
| } | |
| else: | |
| return { | |
| "success": False, | |
| "message": "Unknown query type" | |
| } | |
| except Exception: | |
| return { | |
| "success": False, | |
| "error": traceback.format_exc() | |
| } |