Source code for allensdk.core.utilities

import ast
import pandas as pd
from typing import List

# Utils for processing dataframes


[docs]def literal_col_eval(df: pd.DataFrame, columns: List[str]) -> pd.DataFrame: """Eval string entries of specified columns""" for column in columns: if column in df.columns: df.loc[df[column].notnull(), column] = df[column][ df[column].notnull() ].apply(lambda x: ast.literal_eval(x) if isinstance(x, str) else x) return df
[docs]def df_list_to_tuple(df: pd.DataFrame, columns: List[str]) -> pd.DataFrame: """convert list to tuple so that it can be hashable""" for column in columns: if column in df.columns: df.loc[df[column].notnull(), column] = df[column][ df[column].notnull() ].apply(lambda x: tuple(x) if isinstance(x, list) else x) return df