You are on page 1of 2

Class XII IP Question Paper Solution

1. import pandas as pd

data = {'PID':['P001','P002','P003','P004','P005'],
'PNAME':['Alia','Kavita','Manya','Peehu','Kartavya'],
'DISEASE':['Viral Fever','Viral Fever','Lung Infection','Dengue','Bone Fracture'],
'Age ':[15,65,45,20,56],
'CHARGES':[500,600,1500,1200,4500]}

df = pd.DataFrame(data)
print(df)

(a) vf_patients = df.loc[df['DISEASE'] == 'Viral Fever']

print(vf_patients)

(b) last_three_records = df[-3:]

print(last_three_records)

(c) age_40_to_60 = df[(df['Age '] >= 40) & (df['Age '] <= 60)]

print(age_40_to_60['PNAME'])

(d) df.to_csv('patient.csv', index=False)

(e) import matplotlib.pyplot as plt

df.plot(kind='bar', x='PNAME', y='CHARGES', color='purple', title='Patient Charges', xlabel='Patient Name',


ylabel='Charges')

plt.show()

2. (a) CREATE TABLE patients (PID varchar(10) PRIMARY KEY, PNAME varchar(20), DISEASE varchar(30), Age int, CHARGES
int);

INSERT INTO patients (PID, PNAME, DISEASE, Age, CHARGES)

VALUES

('P001', 'Alia', 'Viral Fever', 15, 500),

('P002', 'Kavita', 'Viral Fever', 65, 600),

('P003', 'Manya', 'Lung Infection', 45, 1500),


('P004', 'Peehu', 'Dengue', 20, 1200),

('P005', 'Kartavya', 'Bone Fracture', 56, 4500);

(b) SELECT PNAME FROM patients WHERE Age > 60;

(c) SELECT MAX(CHARGES) as Maximum_Charges, MIN(CHARGES) as Minimum_Charges FROM patients;

(d) SELECT DISEASE, COUNT(*) as Number_of_Patients FROM patients GROUP BY DISEASE;

(e) SELECT * FROM patients ORDER BY Age DESC;

(f) SELECT * FROM patients WHERE PNAME LIKE 'K%';

You might also like