Only convert some answers to numeric.
parent
3bb66e3838
commit
92a5787d62
|
@ -232,6 +232,17 @@ class ESM(Base, AWAREsensor):
|
|||
esm_session = Column(Integer, nullable=False)
|
||||
esm_notification_id = Column(Integer, nullable=False)
|
||||
esm_expiration_threshold = Column(SmallInteger)
|
||||
ESM_TYPE = {'text': 1,
|
||||
'radio': 2,
|
||||
'checkbox': 3,
|
||||
'likert': 4,
|
||||
'quick_answers': 5,
|
||||
'scale': 6,
|
||||
'datetime': 7,
|
||||
'pam': 8,
|
||||
'number': 9,
|
||||
'web': 10,
|
||||
'date': 11}
|
||||
|
||||
|
||||
class Imperfection(Base):
|
||||
|
|
|
@ -184,7 +184,7 @@ import numpy as np
|
|||
df_session_counts = pd.DataFrame(session_counts_device).rename(
|
||||
columns={"id": "esm_session_count"}
|
||||
)
|
||||
df_session_counts["session_response"] = np.NaN
|
||||
df_session_counts["session_response"] = np.nan
|
||||
session_group_by = df_esm_preprocessed.groupby(
|
||||
["participant_id", "device_id", "esm_session"]
|
||||
)
|
||||
|
|
|
@ -116,7 +116,7 @@ def classify_sessions_by_completion(df_esm_preprocessed: pd.DataFrame) -> pd.Dat
|
|||
df_session_counts = pd.DataFrame(sessions_grouped.count()["id"]).rename(
|
||||
columns={"id": "esm_session_count"}
|
||||
)
|
||||
df_session_counts["session_response"] = np.NaN
|
||||
df_session_counts["session_response"] = np.nan
|
||||
|
||||
# 1. Identify all ESMs with status other than answered.
|
||||
esm_not_answered = sessions_grouped.apply(
|
||||
|
@ -249,7 +249,11 @@ def clean_up_esm(df_esm_preprocessed: pd.DataFrame) -> pd.DataFrame:
|
|||
[ANSWER_DAY_FINISHED, ANSWER_DAY_OFF, ANSWER_SET_EVENING]
|
||||
)
|
||||
]
|
||||
df_esm_clean = df_esm_clean.assign(
|
||||
df_esm_clean["esm_user_answer_numeric"] = np.nan
|
||||
esm_type_numeric = [ESM.ESM_TYPE.get("radio"),
|
||||
ESM.ESM_TYPE.get("scale"),
|
||||
ESM.ESM_TYPE.get("number")]
|
||||
df_esm_clean[df_esm_clean["esm_type"].isin(esm_type_numeric)] = df_esm_clean[df_esm_clean["esm_type"].isin(esm_type_numeric)].assign(
|
||||
esm_user_answer_numeric=lambda x: x.esm_user_answer.str.slice(stop=1).astype(
|
||||
int
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue