from faker import Faker
import random

fake = Faker()

def generate_patient_data(num_patients):
    patient_data = []
    for _ in range(num_patients):
        patient_name = fake.name()
        age = random.randint(18, 80)
        rural_urban = random.choice(["Rural", "Urban"])
        previous_insurance = random.choice(["Yes", "No"])
        annual_income = random.randint(30000, 100000)
        
        patient_data.append([patient_name, age, rural_urban, previous_insurance, annual_income])
    return patient_data

def assign_unique_numbers(patient_data):
    for i, patient in enumerate(patient_data, start=1):
        patient.append(i)
    return patient_data

def filter_patient_data(original_data):
    filtered_data = [patient for patient in original_data if 35 <= patient[1] <= 50  # Age between 35 and 50
                     and patient[2] == "Rural"  # Rural
                     and patient[3] == "No"  # Without previous availed insurance
                     and patient[4] < 100000]  # Annual income less than 1 lakh
    return filtered_data

def print_patient_data(patient_data):
    for patient in patient_data:
        print(patient)

def main():
    num_patients = 200
    patient_data = generate_patient_data(num_patients)
    patient_data_with_numbers = assign_unique_numbers(patient_data)

    # Display original patient data
    print("Original Patient Data:")
    print_patient_data(patient_data_with_numbers)

    # Filter and create a new list based on specified criteria
    filtered_data = filter_patient_data(patient_data_with_numbers)

    # Display the filtered patient data
    print("\nFiltered Patient Data:")
    print_patient_data(filtered_data)

if __name__ == "__main__":
    main()

    #or

import random

# List of common first names
first_names = ["Alice", "Bob", "Charlie", "David", "Emma", "Frank", "Grace", "Henry", "Ivy", "Jack"]

def generate_patient_data(num_patients):
    patient_data = []
    for _ in range(num_patients):
        patient_name = f"{random.choice(first_names)} {random.randint(1000, 9999)}"
        age = random.randint(18, 80)
        rural_urban = random.choice(["Rural", "Urban"])
        previous_insurance = random.choice(["Yes", "No"])
        annual_income = random.randint(30000, 100000)
        
        patient_data.append([patient_name, age, rural_urban, previous_insurance, annual_income])
    return patient_data

def assign_unique_numbers(patient_data):
    for i, patient in enumerate(patient_data, start=1):
        patient.append(i)
    return patient_data

def filter_patient_data(original_data):
    filtered_data = [patient for patient in original_data if 35 <= patient[1] <= 50  # Age between 35 and 50
                     and patient[2] == "Rural"  # Rural
                     and patient[3] == "No"  # Without previous availed insurance
                     and patient[4] < 100000]  # Annual income less than 1 lakh
    return filtered_data

def print_patient_data(patient_data):
    for patient in patient_data:
        print(patient)

def main():
    num_patients = 200
    patient_data = generate_patient_data(num_patients)
    patient_data_with_numbers = assign_unique_numbers(patient_data)

    # Display original patient data
    print("Original Patient Data:")
    print_patient_data(patient_data_with_numbers)

    # Filter and create a new list based on specified criteria
    filtered_data = filter_patient_data(patient_data_with_numbers)

    # Display the filtered patient data
    print("\nFiltered Patient Data:")
    print_patient_data(filtered_data)

if __name__ == "__main__":
    main()

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: