Usar o Timegrouper '1M' para agrupar e somar por colunas está atrapalhando meu índice de datas pandas python

O erro foi encontrado: Os trechos de código publicados como soluções abaixo funcionam. O problema dos meus resultados estava enraizado na fonte de dados (FEC.GOV). Eu o encontrei e agora estou seguindo em frente. Agradecemos imenso tempo, paciência, ajuda etc. da comunidade em relação a esse problema!

Como sugerimos soluções que funcionam com os trechos encontrados no site do github, estou fornecendo o seguinte link para os arquivos originais (http://fec.gov/finance/disclosure/ftpdet.shtml#a2011_2012) Estou usando os anos de 2008 a 2014, Arquivo de dados: pas212.zip, Nome dos dados: (contribuições para candidatos (e outras despesas) dos comitês). Além disso, como o código abaixo pode ser encontrado em [https://github.com/Michae108/python-coding.git]. Agradecemos antecipadamente por qualquer ajuda na resolução deste problema. Estou trabalhando há três dias no que deve ser uma tarefa muito simples. Eu importo e concateno 4 "|" arquivos de valor separados. Leia como pd.df; defina a coluna de data como date.time. Isso me dá a seguinte saída:

              cmte_id trans_typ entity_typ state  amount     fec_id    cand_id
date                                                                          
2007-08-15  C00112250       24K        ORG    DC    2000  C00431569  P00003392
2007-09-26  C00119040       24K        CCM    FL    1000  C00367680  H2FL05127
2007-09-26  C00119040       24K        CCM    MD    1000  C00140715  H2MD05155
2007-07-20  C00346296       24K        CCM    CA    1000  C00434571  H8CA37137

Em segundo lugar, quero poder agrupar o índice pela frequência de um mês. Então eu quero somar a [quantidade] de acordo com [trans_typ] e [cand_id].

Aqui está o meu código para fazer isso:

import numpy as np
import pandas as pd
import glob

df = pd.concat((pd.read_csv(f, sep='|', header=None, low_memory=False, \
    names=['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', \
    '12', '13', 'date', '15', '16', '17', '18', '19', '20', \
    '21', '22'], index_col=None, dtype={'date':str}) for f in \
    glob.glob('/home/jayaramdas/anaconda3/Thesis/FEC_data/itpas2_data/itpas2**.txt')))

df.dropna(subset=['17'], inplace=True)  
df.dropna(subset=['date'], inplace=True)  
df['date'] = pd.to_datetime(df['date'], format='%m%d%Y')
df1 = df.set_index('date')
df2 = df1[['1', '6', '7', '10', '15', '16', '17']].copy() 
df2.columns = ['cmte_id', 'trans_typ', 'entity_typ', 'state', 'amount',\
               'fec_id','cand_id']

df2['amount'] = df2['amount'].astype(float)

grouper = df2.groupby([pd.TimeGrouper('1M'), 'cand_id', 'trans_typ'])

df = grouper['amount'].sum()
grouper['amount'].sum().unstack().fillna(0)
#print (df.head())

Aqui está minha saída da execução do código:

    trans_typ   24A     24C     24E     24F     24K     24N     24R     24Z
date    cand_id                                 
1954-07-31  S8AK00090   0   0   0   0   1000    0   0   0
1985-09-30  H8OH18088   0   0   36  0   0   0   0   0
1997-04-30  S6ND00058   0   0   0   0   1000    0   0   0

Como você pode ver, a coluna da data fica bagunçada depois que eu administro o grupo. Estou certo de que minhas datas não vão mais longe desde 2007. Tentei fazer essa tarefa simples de agrupar por períodos de 1 mês e depois somar [valor] por [trans_typ] e [cand_id]. Parece que deveria ser simples, mas não encontrei solução. Eu li muitas perguntas sobre o Stackoverflow e tentei diferentes técnicas para resolver o problema. Alguém tem uma idéia sobre isso?

Aqui está uma amostra dos meus dados brutos, se ajudar:

C00409409|N|Q2|P|29992447808|24K|CCM|PERRIELLO FOR CONGRESS|IVY|VA|22945|||06262009|500|C00438788|H8VA05106|D310246|424490|||4072320091116608455
C00409409|N|Q2|P|29992447807|24K|CCM|JOHN BOCCIERI FOR CONGRESS|ALLIANCE|OH|44601|||06262009|500|C00435065|H8OH16058|D310244|424490|||4072320091116608452
C00409409|N|Q2|P|29992447807|24K|CCM|MIKE MCMAHON FOR CONGRESS|STATEN ISLAND|NY|10301|||06262009|500|C00451138|H8NY13077|D310245|424490|||4072320091116608453
C00409409|N|Q2|P|29992447808|24K|CCM|MINNICK FOR CONGRESS|BOISE|ID|83701|||06262009|500|C00441105|H8ID01090|D310243|424490|||4072320091116608454
C00409409|N|Q2|P|29992447807|24K|CCM|ADLER FOR CONGRESS|MARLTON|NJ|08053|||06262009|500|C00439067|H8NJ03156|D310247|424490|||4072320091116608451
C00435164|N|Q2|P|29992448007|24K|CCM|ALEXI FOR ILLINOIS EXPLORATORY COMMITTEE||||||06292009|1500|C00459586|S0IL00204|SB21.4124|424495|||4071620091116385529

questionAnswers(2)

yourAnswerToTheQuestion