85 lines
3.5 KiB
Python
85 lines
3.5 KiB
Python
import pandas as pd
|
|
import os
|
|
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
|
|
curdir = os.getcwd()
|
|
path_delim = '/'
|
|
df1 = pd.read_excel(curdir + path_delim + "data/users_21_10_2023_20_11.xlsx", sheet_name="Sheet1")
|
|
df2 = pd.read_excel(curdir + path_delim + "data/Final Results 21 Oct 2023.xlsx", sheet_name="data")
|
|
|
|
df2 = df2.sort_values('testTime')
|
|
|
|
variance_column = df2["led2Buffer"].var(ddof=0)
|
|
print(variance_column)
|
|
|
|
# df2.plot(kind = 'scatter', x = 'testTime', y = 'calculatedRatio')
|
|
# plt.show()
|
|
|
|
|
|
# df2.plot(kind = 'scatter', x = 'testTime', y = 'led1Buffer')
|
|
# plt.show()
|
|
|
|
# df2.plot(kind = 'scatter', x = 'testTime', y = 'led2Buffer')
|
|
# plt.show()
|
|
|
|
# df2.plot(kind = 'scatter', x = 'testTime', y = 'led1Sample')
|
|
# plt.show()
|
|
|
|
# df2.plot(kind = 'scatter', x = 'testTime', y = 'led2Sample')
|
|
# plt.show()
|
|
|
|
df = df1.merge(df2, on="_id", how="outer")
|
|
print(df.columns)
|
|
# # df = pd.concat([df1, df3], ignore_index=True)
|
|
df['Age'] = 2023 - df['birthYear']
|
|
|
|
df['deviceId'].hist()
|
|
plt.show()
|
|
|
|
# df['led2Sample'].plot.box()
|
|
# plt.show()
|
|
|
|
# df['led2Sample'].plot.kde()
|
|
# plt.show()
|
|
|
|
# df['led2Sample'].plot.density()
|
|
# plt.show()
|
|
|
|
# df['category'].plot.pie()
|
|
# plt.show()
|
|
|
|
df = df[["_id", "name_x", "abhaId", "aadharId", "Age", "gender", "category", "maritalStatus", "house", "district", "state", "pinCode", "phoneNumber", "classificationResult", "bloodGroup", "testTime", "caste", "registrationCenterName"]]
|
|
print(df)
|
|
|
|
df.rename(columns={'_id': "Sample ID", "name_x": "Name", "abhaId": "ABHA ID", "aadharId": "Aadhaar ID", "gender": "Gender", "category": "Category", "maritalStatus": "Marital Status", "house": "Address", "district": "District", "state": "State", "pinCode": "Pincode", "phoneNumber": "Mobile Number", "testTime": "Date", "classificationResult": "Test Result", "bloodGroup": "Blood Group", "Age": "Age", "caste": "Caste", "registrationCenterName": "Center"}, inplace = True)
|
|
df = df.reindex(["Sample ID", "Name", "ABHA ID", "Aadhaar ID", "Age", "Gender", "Caste", "Category", "Marital Status", "Address", "District", "State", "Pincode", "Mobile Number", "Date", "Test Result", "Blood Group", "Center"], axis=1)
|
|
|
|
# df['Date'] = pd.to_datetime(df["Date"].dt.strftime('%d-%m-%Y'))
|
|
|
|
# df = df.sort_values(by=['Date'], ascending=True)
|
|
|
|
df["Test Result"].fillna("NOTEST", inplace = True)
|
|
print("NOTEST: ", len(df[df["Test Result"] == "NOTEST"]))
|
|
df = df[df["Test Result"] != "NOTEST"]
|
|
|
|
df_final = df.sort_values('Date').drop_duplicates('Sample ID', keep='last')
|
|
|
|
df_final.loc[df_final['Test Result'] == 'Normal', 'Test Result'] = 'Normal (HbA)'
|
|
df_final.loc[df_final['Test Result'] == 'Sickle Cell Trait', 'Test Result'] = 'Sickle Cell Trait (HbAS)'
|
|
df_final.loc[df_final['Test Result'] == 'SCT', 'Test Result'] = 'Sickle Cell Trait (HbAS)'
|
|
df_final.loc[df_final['Test Result'] == 'SCD', 'Test Result'] = 'Sickle cell Disease (HbSS)'
|
|
df_final.loc[df_final['Test Result'] == 'PBL', 'Test Result'] = 'Positive Borderline'
|
|
df_final.loc[df_final['Test Result'] == 'NBL', 'Test Result'] = 'Negative Borderline'
|
|
df_final.loc[df_final['Gender'] == 'Male', 'Gender'] = 'MALE'
|
|
df_final.loc[df_final['Gender'] == 'Female', 'Gender'] = 'FEMALE'
|
|
print(df_final.groupby(["Test Result"]).describe())
|
|
|
|
df_count = df.groupby(["Test Result"]).describe()["ABHA ID"]["count"]
|
|
print(df.groupby(["Test Result"]).describe()["ABHA ID"]["count"])
|
|
|
|
writer = pd.ExcelWriter(curdir + path_delim + "data/Oct21.xlsx", engine = 'openpyxl')
|
|
df_final.to_excel(writer, sheet_name = 'op', index=False)
|
|
df_count.to_excel(writer, sheet_name = "count")
|
|
writer.close()
|