<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_detailed_transactions(self, include_investment=False, skip_duplicates=False, remove_pending=True, start_date=None):
 """Returns the JSON transaction data as a DataFrame, and converts current year dates and prior year dates into consistent datetime format, and reverses credit activity. Note: start_date must be in format mm/dd/yy. If pulls take too long, use a more recent start date. See json explanations of include_investment and skip_duplicates. Also note: Mint includes pending transactions, however these sometimes change dates/amounts after the transactions post. They have been removed by default in this pull, but can be included by changing remove_pending to False """

        assert_pd()

        result = self.get_transactions_json(include_investment,
                                            skip_duplicates, start_date)
        df = pd.DataFrame(result)
        df['odate'] = df['odate'].apply(json_date_to_datetime)

        if remove_pending:
            df = df[~df.isPending]
            df.reset_index(drop=True, inplace=True)

        df.amount = df.apply(reverse_credit_amount, axis=1)

        return df