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