Индексация кадров данных Pandas и несовпадение dateTime и DatetimeIndex
У меня есть датафрейм pandas, и я разделил его по значениям одного из столбцов. Теперь я хотел бы использовать команду dataFrame resample("W"). Asfreq(). Plot(), но найти несовпадение индекса и данных. Вот выдающийся код:
import pandas as pd
df = pd.read_csv(infile, parse_dates=True)
df.head()
date day.of.week car.count weather cloud.indicator
0 2010-01-01 Friday 101 0.1 clear
1 2010-01-02 Saturday 34 0.2 cloudy
2 2010-01-03 Sunday 113 0.4 clear
3 2010-01-04 Monday 5 0.6 cloudy
4 2010-01-05 Tuesday 124 0.1 clear
df_cloudy = df[df['cloud.indicator'] == 'cloudy']
start = datetime.datetime.strptime("2010-01-01", "%Y-%m-%d")
date_list = [start + relativedelta(days=x) for x in range(0,len(df))]
df['index'] =date_list
df.set_index(['index'], inplace=True)
df.index.name=None
df.head()
date day.of.week car.count weather cloud.indicator
2010-01-01 2010-01-01 Friday 101 0.1 clear
2010-01-02 2010-01-02 Saturday 34 0.2 cloudy
2010-01-03 2010-01-03 Sunday 113 0.4 clear
2010-01-04 2010-01-04 Monday 5 0.6 cloudy
2010-01-05 2010-01-05 Tuesday 124 0.1 clear
start = datetime.datetime.strptime("2010-01-02", "%Y-%m-%d")
date_list = [start + relativedelta(days=x) for x in range(0,len(df_cloudy))]
df_cloudy['index'] = date_list
df_cloudy.set_index(['index'], inplace=True)
df_cloudy.index.name=None
df_cloudy.head()
date day.of.week car.count weather cloud.indicator
2010-01-02 2010-01-02 Saturday 34 0.2 cloudy
2010-01-03 2010-01-04 Monday 5 0.6 cloudy
2010-01-04 2010-01-08 Friday 67 -0.3 cloudy
2010-01-05 2010-01-09 Saturday 89 0.2 cloudy
2010-01-06 2010-01-14 Thursday 24 0.6 cloud
затем
df['car.count'].resample("W").asfreq().plot()
сюжеты хорошо, но
df_cloudy['car.count'].resample("W").asfreq().plot()
только заговоры до 2012-10-17, когда это должно заговорить до 2016-06-30.
Спасибо!