Files
Analytical_engine_backend/generate_sample_data.py
2026-05-11 12:36:20 +05:30

44 lines
1.6 KiB
Python

import duckdb
import pandas as pd
from datetime import datetime, timedelta
import random
def generate_data():
riders = ["Rider Alpha", "Rider Beta", "Rider Gamma", "Rider Delta"]
tenants = ["Tenant A", "Tenant B", "Tenant C"]
statuses = ["completed", "pending", "cancelled"]
data = []
for i in range(50):
rider = random.choice(riders)
tenant = random.choice(tenants)
order_amt = round(random.uniform(20.0, 100.0), 2)
delivery_amt = round(order_amt * 0.1, 2)
delivery_charges = round(random.uniform(2.0, 5.0), 2)
status = random.choice(statuses)
pickup = datetime.now() - timedelta(minutes=random.randint(10, 1000))
# ridertime in minutes
rider_time = random.randint(15, 45)
delivery = pickup + timedelta(minutes=rider_time)
data.append({
"ridername": rider,
"tenantname": tenant,
"orderamount": order_amt,
"deliveryamt": delivery_amt,
"deliverycharges": delivery_charges,
"orderstatus": status,
"pickuptime": pickup.isoformat(),
"deliverytime": delivery.isoformat(),
"ridertime": rider_time # explicitly adding this column for the user's example
})
df = pd.DataFrame(data)
conn = duckdb.connect()
conn.execute("COPY df TO 'c:/bitbucket/backup/analytics/ai-service/data/deliveries.parquet' (FORMAT PARQUET)")
print("Generated c:/bitbucket/backup/analytics/ai-service/data/deliveries.parquet")
if __name__ == "__main__":
generate_data()