Я пытаюсь сэмплировать образец данных, но всякий раз, когда я пытаюсь это сделать, я получаю TypeError. Ошибка в последних 2 строках кода.
Я все еще новичок во всем этом, поэтому я немного смущен этим. Я продолжаю получать «TypeError: Действует только с DatetimeIndex, TimedeltaIndex или PeriodIndex, но получил экземпляр« Index »»
import pandas as pd
import mailbox
import datetime
import pytz
MBOX = 'enron.mbox'
mbox = mailbox.mbox(MBOX)
mbox_dict = {}
for i, msg in enumerate(mbox):
mbox_dict[i] = {}
for header in msg.keys():
mbox_dict[i][header] = msg[header]
mbox_dict[i]['Body'] = msg.get_payload().replace('\n', ' ').replace('\t', ' ').replace('\r', ' ').strip()
df = pd.DataFrame.from_dict(mbox_dict, orient='index')
df.index = df['Date'].apply(pd.to_datetime)
utc=pytz.UTC
start_date = '2002-1-1'
stop_date = '2002-5-1'
date_time_obj = datetime.datetime.strptime(start_date, '%Y-%m-%d')
date_time_obj = utc.localize(date_time_obj)
start_time = date_time_obj.replace(tzinfo=utc)
date_time_obj = datetime.datetime.strptime(stop_date, '%Y-%m-%d')
date_time_obj = utc.localize(date_time_obj)
stop_time = date_time_obj.replace(tzinfo=utc)
datemask = ( df.index > start_time) & (df.index <= stop_time)
#*************here's when things go wrong *******************
vol_by_month = df.loc[datemask].resample('1M').count()['To']
print(vol_by_month)