私の目的は、欠落しているデータを以前のデータに置き換え、同時に日付を再サンプリングするために、パンダに行を追加することです。例:アイテムごとにパンダで日付を再サンプリングする方法は?
date wins losses
2015-12-19 11 5
2015-12-20 17 8
2015-12-20 10 6
2015-12-21 15 1
2015-12-25 11 5
2015-12-26 6 10
2015-12-27 10 6
2015-12-28 4 12
2015-12-29 8 11
そして、これは私が欲しいものです:: これは私が持っているものである
wins losses
date
2015-12-19 11.0 5.0
2015-12-20 10.0 6.0
2015-12-21 15.0 1.0
2015-12-22 15.0 1.0
2015-12-23 15.0 1.0
2015-12-24 15.0 1.0
2015-12-25 11.0 5.0
2015-12-26 6.0 10.0
2015-12-27 10.0 6.0
2015-12-28 4.0 12.0
2015-12-29 8.0 11.0
そして、これは私のコードです:それは作品
resamp = df.set_index('date').resample('D', how='last', fill_method='ffill')
! しかし、同じことを2200万行(パンダ)、異なる日付、異なるIDで行いたい。
このデータフレームには2つのproductID(1と2)が含まれています。私は、同じ以前exerciceを行うと、すべてのproductIDの時間セリエデータを保存しておきたい。..
createdAt productId popularity
2015-12-01 1 5
2015-12-02 1 8
2015-12-04 1 6
2015-12-07 1 9
2015-12-01 2 5
2015-12-03 2 10
2015-12-04 2 6
2015-12-07 2 12
2015-12-09 2 11
これは私のコードです:
df['date'] = pd.to_datetime(df['createdAt'])
df.set_index('date').resample('D', how='last', fill_method='ffill')
これは私が同じコードを使用している場合、私が持っているものです!私は私の日付でグループバイをしたくありません。
createdAt productId popularity
date
2015-12-01 2015-12-01 2 5
2015-12-02 2015-12-02 2 5
2015-12-03 2015-12-03 2 10
2015-12-04 2015-12-04 2 6
2015-12-05 2015-12-05 2 6
2015-12-06 2015-12-06 2 6
2015-12-07 2015-12-07 2 12
2015-12-08 2015-12-08 2 12
2015-12-09 2015-12-09 2 11
これは私が欲しいものです!
createdAt productId popularity
2015-12-01 1 5
2015-12-02 1 8
2015-12-03 1 8
2015-12-04 1 6
2015-12-05 1 6
2015-12-06 1 6
2015-12-07 1 9
2015-12-01 2 5
2015-12-02 2 5
2015-12-03 2 10
2015-12-04 2 6
2015-12-05 2 6
2015-12-06 2 6
2015-12-07 2 12
2015-12-08 2 12
2015-12-09 2 11
ありがとう
は、お返事ありがとうござい必要があります。それは動作しますが、HeerrKönigが言ったように、私は "df.set_index( 'date')"を追加する必要がありました..私は新しい問題があります..私はこのエラーメッセージを持っています: "ValueError:制限する "。あなたの見解では、問題は何ですか?ありがとうございました – DataAddicted