Quickstart Guide¶
Import the relevant functions¶
from pondtools.load import merge_data, load_data, MERGE_CACHE, LOAD_CACHE
Have access to your original data¶
Notice how the data type can be in the form of csv, excel or pickle.
filepath = r"C:\Users\nguye\Documents\Thesis\social_communication\social_communication\data"
pond_extract = filepath + r'\2021-04-07-POND_SC_DATA.pkl'
stop_task = filepath + r'\2021-04-07-StopTask.csv'
n_back = filepath + r'\2021-04-07-N-Back.csv'
Merge the pond export with the datafiles¶
We can merge our POND extract with unofficial exports for the Stop task and N-back data. We are going to the save the pickled version of our data in MERGE_CACHE
which is located in the cache
folder of the the pondtools module.
Docs for merge_data()
can be accessed here.
%%time
df_merged = merge_data(
pond_export = pond_extract,
extra_files=[stop_task, n_back],
save=True,
save_location=MERGE_CACHE)
Wall time: 1min 54s
This is what out merged file looks like.
df_merged
SUBJECT | SITE_ID | SUB_ID | DOB | DOB_YYYY_MM | POND_DATE | AGE_AT_ENROLLMENT | NSI_SEX | NSI_SEX_STD | NSI_GIRL_WMN | ... | SaveTS_1 | N_BACK_DATE | S0B_TGT_ACCURACY | S0B_NONTGT_ACCURACY | S1B_TGT_ACCURACY | S1B_NONTGT_ACCURACY | S2B_TGT_ACCURACY | S2B_NONTGT_ACCURACY | N_BACK_MEGA | N_BACK_MEGA_STD | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 880001 | 88.0 | 880001.0 | 1998-03-21 | 1998 03 | 2012-04-25 | 14.0 | Male | Male | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
1 | 880002 | 88.0 | 880002.0 | 1999-05-20 | 1999 05 | 2013-01-13 | 13.0 | Male | Male | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2 | 880003 | 88.0 | 880003.0 | 2001-10-17 | 2001 10 | 2012-04-02 | 10.0 | Male | Male | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
3 | 880004 | 88.0 | 880004.0 | 2004-03-29 | 2004 03 | 2012-04-16 | 8.0 | Male | Male | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
4 | 880005 | 88.0 | 880005.0 | 1997-07-27 | 1997 07 | 2012-04-18 | 14.0 | Male | Male | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
4010 | 3940420 | 394.0 | 3940420.0 | 2013-10-23 | 2013 10 | 2021-03-03 | 7.0 | Male | Male | 0.0 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
4011 | 3940421 | 394.0 | 3940421.0 | 2008-08-21 | 2008 08 | 2021-03-15 | 12.0 | Male | Male | 0.0 | ... | 3/18/2021 5:50:25 PM | 2021 03 15 | NaN | NaN | NaN | NaN | NaN | NaN | No | 0.0 |
4012 | 3940422 | 394.0 | 3940422.0 | 2013-07-08 | 2013 07 | 2021-03-01 | 7.0 | Male | Male | 0.0 | ... | 3/2/2021 3:11:28 PM | 2021 03 01 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
4013 | 3940423 | 394.0 | 3940423.0 | NaT | NaN | NaT | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
4014 | 3940424 | 394.0 | 3940424.0 | NaT | NaN | NaT | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
4015 rows × 3986 columns
Accessing data in cache¶
Since merging the data can be a timely process we can quickly re-access it as a cached pickle file.
%%time
import pandas as pd
pd.read_pickle(MERGE_CACHE)
Wall time: 583 ms
SUBJECT | SITE_ID | SUB_ID | DOB | DOB_YYYY_MM | POND_DATE | AGE_AT_ENROLLMENT | NSI_SEX | NSI_SEX_STD | NSI_GIRL_WMN | ... | SaveTS_1 | N_BACK_DATE | S0B_TGT_ACCURACY | S0B_NONTGT_ACCURACY | S1B_TGT_ACCURACY | S1B_NONTGT_ACCURACY | S2B_TGT_ACCURACY | S2B_NONTGT_ACCURACY | N_BACK_MEGA | N_BACK_MEGA_STD | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 880001 | 88.0 | 880001.0 | 1998-03-21 | 1998 03 | 2012-04-25 | 14.0 | Male | Male | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
1 | 880002 | 88.0 | 880002.0 | 1999-05-20 | 1999 05 | 2013-01-13 | 13.0 | Male | Male | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2 | 880003 | 88.0 | 880003.0 | 2001-10-17 | 2001 10 | 2012-04-02 | 10.0 | Male | Male | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
3 | 880004 | 88.0 | 880004.0 | 2004-03-29 | 2004 03 | 2012-04-16 | 8.0 | Male | Male | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
4 | 880005 | 88.0 | 880005.0 | 1997-07-27 | 1997 07 | 2012-04-18 | 14.0 | Male | Male | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
4010 | 3940420 | 394.0 | 3940420.0 | 2013-10-23 | 2013 10 | 2021-03-03 | 7.0 | Male | Male | 0.0 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
4011 | 3940421 | 394.0 | 3940421.0 | 2008-08-21 | 2008 08 | 2021-03-15 | 12.0 | Male | Male | 0.0 | ... | 3/18/2021 5:50:25 PM | 2021 03 15 | NaN | NaN | NaN | NaN | NaN | NaN | No | 0.0 |
4012 | 3940422 | 394.0 | 3940422.0 | 2013-07-08 | 2013 07 | 2021-03-01 | 7.0 | Male | Male | 0.0 | ... | 3/2/2021 3:11:28 PM | 2021 03 01 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
4013 | 3940423 | 394.0 | 3940423.0 | NaT | NaN | NaT | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
4014 | 3940424 | 394.0 | 3940424.0 | NaT | NaN | NaT | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
4015 rows × 3986 columns
Loading processed data¶
We can process our newly merged data (MERGE_CACHE
) and process it for our purposes.
We can also cache the data for future use, so we do not need to constantly reload our cleaned dataset. To do this we must set the cache=False
and cache_location=LOAD_CACHE
.
Docs for merge_data()
can be accessed here.
%%time
df_loaded = load_data(filepath=MERGE_CACHE, cache=False, cache_location=LOAD_CACHE)
Wall time: 50.2 s
df_loaded
Category | Participant_Data | ... | Demographics | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Field | SUBJECT | SITE_ID | SUB_ID | DOB | DOB_YYYY_MM | POND_DATE | AGE_AT_ENROLLMENT | SEX | SEX_STD | NSI_GIRL_WMN | ... | MRTL_STATUS_PMRY_CGVR_MIN | MRTL_STATUS_PMRY_CGVR_MEAN | EMPLOY_STATUS_PMRY_CGVR_SUM | EMPLOY_STATUS_PMRY_CGVR_MAX | EMPLOY_STATUS_PMRY_CGVR_MIN | EMPLOY_STATUS_PMRY_CGVR_MEAN | JOB_CLASS_PMRY_CGVR_SUM | JOB_CLASS_PMRY_CGVR_MAX | JOB_CLASS_PMRY_CGVR_MIN | JOB_CLASS_PMRY_CGVR_MEAN |
Index | |||||||||||||||||||||
880001 | 880001 | 88.0 | 880001.0 | 1998-03-21 | 1998 03 | 2012-04-25 | 14.0 | Male | Male | NaN | ... | NaN | NaN | 0.0 | NaN | NaN | NaN | 0.0 | NaN | NaN | NaN |
880002 | 880002 | 88.0 | 880002.0 | 1999-05-20 | 1999 05 | 2013-01-13 | 13.0 | Male | Male | NaN | ... | NaN | NaN | 0.0 | NaN | NaN | NaN | 0.0 | NaN | NaN | NaN |
880003 | 880003 | 88.0 | 880003.0 | 2001-10-17 | 2001 10 | 2012-04-02 | 10.0 | Male | Male | NaN | ... | NaN | NaN | 0.0 | NaN | NaN | NaN | 0.0 | NaN | NaN | NaN |
880004 | 880004 | 88.0 | 880004.0 | 2004-03-29 | 2004 03 | 2012-04-16 | 8.0 | Male | Male | NaN | ... | NaN | NaN | 0.0 | NaN | NaN | NaN | 0.0 | NaN | NaN | NaN |
880005 | 880005 | 88.0 | 880005.0 | 1997-07-27 | 1997 07 | 2012-04-18 | 14.0 | Male | Male | NaN | ... | NaN | NaN | 0.0 | NaN | NaN | NaN | 0.0 | NaN | NaN | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
3940420 | 3940420 | 394.0 | 3940420.0 | 2013-10-23 | 2013 10 | 2021-03-03 | 7.0 | Male | Male | 0.0 | ... | 3.0 | 4.5 | 1.0 | 1.0 | 1.0 | 1.0 | 20.0 | 10.0 | 10.0 | 10.0 |
3940421 | 3940421 | 394.0 | 3940421.0 | 2008-08-21 | 2008 08 | 2021-03-15 | 12.0 | Male | Male | 0.0 | ... | 3.0 | 3.0 | 2.0 | 1.0 | 1.0 | 1.0 | 10.0 | 5.0 | 5.0 | 5.0 |
3940422 | 3940422 | 394.0 | 3940422.0 | 2013-07-08 | 2013 07 | 2021-03-01 | 7.0 | Male | Male | 0.0 | ... | 3.0 | 3.0 | 2.0 | 1.0 | 1.0 | 1.0 | 10.0 | 5.0 | 5.0 | 5.0 |
3940423 | 3940423 | 394.0 | 3940423.0 | NaT | NaN | NaT | NaN | NaN | NaN | NaN | ... | NaN | NaN | 0.0 | NaN | NaN | NaN | 0.0 | NaN | NaN | NaN |
3940424 | 3940424 | 394.0 | 3940424.0 | NaT | NaN | NaT | NaN | NaN | NaN | NaN | ... | NaN | NaN | 0.0 | NaN | NaN | NaN | 0.0 | NaN | NaN | NaN |
3410 rows × 4149 columns
Next time we work on the project, after closing our system, we can simply reload the data by setting cache=True
, which is the default.
%%time
load_data()
Wall time: 604 ms
Category | Participant_Data | ... | Demographics | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Field | SUBJECT | SITE_ID | SUB_ID | DOB | DOB_YYYY_MM | POND_DATE | AGE_AT_ENROLLMENT | SEX | SEX_STD | NSI_GIRL_WMN | ... | MRTL_STATUS_PMRY_CGVR_MIN | MRTL_STATUS_PMRY_CGVR_MEAN | EMPLOY_STATUS_PMRY_CGVR_SUM | EMPLOY_STATUS_PMRY_CGVR_MAX | EMPLOY_STATUS_PMRY_CGVR_MIN | EMPLOY_STATUS_PMRY_CGVR_MEAN | JOB_CLASS_PMRY_CGVR_SUM | JOB_CLASS_PMRY_CGVR_MAX | JOB_CLASS_PMRY_CGVR_MIN | JOB_CLASS_PMRY_CGVR_MEAN |
Index | |||||||||||||||||||||
880001 | 880001 | 88.0 | 880001.0 | 1998-03-21 | 1998 03 | 2012-04-25 | 14.0 | Male | Male | NaN | ... | NaN | NaN | 0.0 | NaN | NaN | NaN | 0.0 | NaN | NaN | NaN |
880002 | 880002 | 88.0 | 880002.0 | 1999-05-20 | 1999 05 | 2013-01-13 | 13.0 | Male | Male | NaN | ... | NaN | NaN | 0.0 | NaN | NaN | NaN | 0.0 | NaN | NaN | NaN |
880003 | 880003 | 88.0 | 880003.0 | 2001-10-17 | 2001 10 | 2012-04-02 | 10.0 | Male | Male | NaN | ... | NaN | NaN | 0.0 | NaN | NaN | NaN | 0.0 | NaN | NaN | NaN |
880004 | 880004 | 88.0 | 880004.0 | 2004-03-29 | 2004 03 | 2012-04-16 | 8.0 | Male | Male | NaN | ... | NaN | NaN | 0.0 | NaN | NaN | NaN | 0.0 | NaN | NaN | NaN |
880005 | 880005 | 88.0 | 880005.0 | 1997-07-27 | 1997 07 | 2012-04-18 | 14.0 | Male | Male | NaN | ... | NaN | NaN | 0.0 | NaN | NaN | NaN | 0.0 | NaN | NaN | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
3940420 | 3940420 | 394.0 | 3940420.0 | 2013-10-23 | 2013 10 | 2021-03-03 | 7.0 | Male | Male | 0.0 | ... | 3.0 | 4.5 | 1.0 | 1.0 | 1.0 | 1.0 | 20.0 | 10.0 | 10.0 | 10.0 |
3940421 | 3940421 | 394.0 | 3940421.0 | 2008-08-21 | 2008 08 | 2021-03-15 | 12.0 | Male | Male | 0.0 | ... | 3.0 | 3.0 | 2.0 | 1.0 | 1.0 | 1.0 | 10.0 | 5.0 | 5.0 | 5.0 |
3940422 | 3940422 | 394.0 | 3940422.0 | 2013-07-08 | 2013 07 | 2021-03-01 | 7.0 | Male | Male | 0.0 | ... | 3.0 | 3.0 | 2.0 | 1.0 | 1.0 | 1.0 | 10.0 | 5.0 | 5.0 | 5.0 |
3940423 | 3940423 | 394.0 | 3940423.0 | NaT | NaN | NaT | NaN | NaN | NaN | NaN | ... | NaN | NaN | 0.0 | NaN | NaN | NaN | 0.0 | NaN | NaN | NaN |
3940424 | 3940424 | 394.0 | 3940424.0 | NaT | NaN | NaT | NaN | NaN | NaN | NaN | ... | NaN | NaN | 0.0 | NaN | NaN | NaN | 0.0 | NaN | NaN | NaN |
3410 rows × 4149 columns
Multi-level columns¶
The multilevel columns make it easy to navigate the large dataset
df_loaded['Participant_Data']
Field | SUBJECT | SITE_ID | SUB_ID | DOB | DOB_YYYY_MM | POND_DATE | AGE_AT_ENROLLMENT | SEX | SEX_STD | NSI_GIRL_WMN | ... | FAMILY_ID | ASDANXIET | ADHD_DX_STD | ODD_DX_STD | BRTH_DATE | ASD_DIAGNOSIS | ADHD_DIAGNOSIS | OCD_DIAGNOSIS | TD_DIAGNOSIS | COMORBID_DIAGNOSIS |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Index | |||||||||||||||||||||
880001 | 880001 | 88.0 | 880001.0 | 1998-03-21 | 1998 03 | 2012-04-25 | 14.0 | Male | Male | NaN | ... | 880001.0 | 0.0 | NaN | NaN | NaN | 0 | 1 | 1 | 0 | ADHD_OCD |
880002 | 880002 | 88.0 | 880002.0 | 1999-05-20 | 1999 05 | 2013-01-13 | 13.0 | Male | Male | NaN | ... | 880002.0 | 0.0 | 0.0 | 0.0 | NaN | 0 | 0 | 1 | 0 | OCD |
880003 | 880003 | 88.0 | 880003.0 | 2001-10-17 | 2001 10 | 2012-04-02 | 10.0 | Male | Male | NaN | ... | 880003.0 | 0.0 | 1.0 | 0.0 | NaN | 0 | 1 | 0 | 0 | ADHD |
880004 | 880004 | 88.0 | 880004.0 | 2004-03-29 | 2004 03 | 2012-04-16 | 8.0 | Male | Male | NaN | ... | 880004.0 | 0.0 | 0.0 | 0.0 | NaN | 0 | 1 | 0 | 0 | ADHD |
880005 | 880005 | 88.0 | 880005.0 | 1997-07-27 | 1997 07 | 2012-04-18 | 14.0 | Male | Male | NaN | ... | 880005.0 | 0.0 | 0.0 | 0.0 | NaN | 1 | 1 | 0 | 0 | ASD_ADHD |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
3940420 | 3940420 | 394.0 | 3940420.0 | 2013-10-23 | 2013 10 | 2021-03-03 | 7.0 | Male | Male | 0.0 | ... | 3940420.0 | 1.0 | 0.0 | 1.0 | NaN | 0 | 1 | 0 | 0 | ADHD |
3940421 | 3940421 | 394.0 | 3940421.0 | 2008-08-21 | 2008 08 | 2021-03-15 | 12.0 | Male | Male | 0.0 | ... | 3940421.0 | 1.0 | 1.0 | 1.0 | NaN | 0 | 1 | 0 | 0 | ADHD |
3940422 | 3940422 | 394.0 | 3940422.0 | 2013-07-08 | 2013 07 | 2021-03-01 | 7.0 | Male | Male | 0.0 | ... | 3940422.0 | 1.0 | 1.0 | 1.0 | NaN | 0 | 1 | 1 | 0 | ADHD_OCD |
3940423 | 3940423 | 394.0 | 3940423.0 | NaT | NaN | NaT | NaN | NaN | NaN | NaN | ... | 3940423.0 | NaN | 0.0 | 0.0 | NaN | 0 | 0 | 0 | 0 | NaN |
3940424 | 3940424 | 394.0 | 3940424.0 | NaT | NaN | NaT | NaN | NaN | NaN | NaN | ... | 3940418.0 | NaN | NaN | NaN | NaN | 0 | 0 | 0 | 0 | NaN |
3410 rows × 42 columns
df_loaded[['Participant_Data', 'IQ_Summary']]
Category | Participant_Data | ... | IQ_Summary | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Field | SUBJECT | SITE_ID | SUB_ID | DOB | DOB_YYYY_MM | POND_DATE | AGE_AT_ENROLLMENT | SEX | SEX_STD | NSI_GIRL_WMN | ... | IQ_DATE | FULL_IQ | VERB_IQ | PERF_IQ | VISUALRECEPTION_IQ | FINEMOTOR_IQ | RECEPTIVELANG_IQ | EXPRESSIVELANG_IQ | EARLYLEARNINGCOMP_IQ | IQ_GAP |
Index | |||||||||||||||||||||
880001 | 880001 | 88.0 | 880001.0 | 1998-03-21 | 1998 03 | 2012-04-25 | 14.0 | Male | Male | NaN | ... | NaT | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
880002 | 880002 | 88.0 | 880002.0 | 1999-05-20 | 1999 05 | 2013-01-13 | 13.0 | Male | Male | NaN | ... | NaT | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
880003 | 880003 | 88.0 | 880003.0 | 2001-10-17 | 2001 10 | 2012-04-02 | 10.0 | Male | Male | NaN | ... | NaT | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
880004 | 880004 | 88.0 | 880004.0 | 2004-03-29 | 2004 03 | 2012-04-16 | 8.0 | Male | Male | NaN | ... | 2016-05-25 | 82.0 | 87.0 | 95.0 | NaN | NaN | NaN | NaN | NaN | 8.0 |
880005 | 880005 | 88.0 | 880005.0 | 1997-07-27 | 1997 07 | 2012-04-18 | 14.0 | Male | Male | NaN | ... | NaT | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
3940420 | 3940420 | 394.0 | 3940420.0 | 2013-10-23 | 2013 10 | 2021-03-03 | 7.0 | Male | Male | 0.0 | ... | 2021-03-03 | 81.0 | 80.0 | 86.0 | NaN | NaN | NaN | NaN | NaN | 6.0 |
3940421 | 3940421 | 394.0 | 3940421.0 | 2008-08-21 | 2008 08 | 2021-03-15 | 12.0 | Male | Male | 0.0 | ... | 2021-03-15 | 110.0 | 102.0 | 118.0 | NaN | NaN | NaN | NaN | NaN | 16.0 |
3940422 | 3940422 | 394.0 | 3940422.0 | 2013-07-08 | 2013 07 | 2021-03-01 | 7.0 | Male | Male | 0.0 | ... | 2021-03-01 | 121.0 | 107.0 | 132.0 | NaN | NaN | NaN | NaN | NaN | 25.0 |
3940423 | 3940423 | 394.0 | 3940423.0 | NaT | NaN | NaT | NaN | NaN | NaN | NaN | ... | NaT | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
3940424 | 3940424 | 394.0 | 3940424.0 | NaT | NaN | NaT | NaN | NaN | NaN | NaN | ... | NaT | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
3410 rows × 56 columns