def _pkidb(ligand_name, pkidb_df):
    """
    Get reported PKIDB targets for input ligand.

    Parameters
    ----------
    ligand_name : str
        Ligand name.
    pkidb_df : pandas.DataFrame
        PKIDB data (columns) for all PKIDB ligands (rows) from `ligands.pkidb()`.

    Returns
    -------
    list or str
        PKIDB target names. If input ligand name unknown or ambiguous return "unknown (why?)".
    """

    targets = pkidb_df[pkidb_df["ID"] == ligand_name]["Targets"]

    if len(targets) == 0:
        return "unknown (not in PKIDB)"
    elif len(targets) == 1:
        return targets.reset_index(drop=True)[0]
    else:
        return "unknown (ambiguous ligand name)"