2017-12-02 3 views
1

私は現在、毎日の目録のリストを持つ大きなデータセットを扱っています。私は2日以上の在庫を比較して何が変わったのかを見て、そのプロセスを1ヶ月間続けたいと思っています。たとえば、1月の場合は、1月1日から2日、1月2日から3日までの変更を確認したいと思います。Pythonで特定の期間にわたって日付を反復する

2つの日付間の在庫を比較するコードを書くことができました。しかし、コードを次の日の間実行し続けるためには、そのプロセスをどのように反復するのですか?私はプログラミングには慣れていないので、助けていただければ幸いです。

以下のコードでは、10月14日の在庫の1番目と10月15日の在庫の2番目のサブセットを作成しました。3行目では、2日間にユニークな識別子を使用して変更されたデータセット(画像)。各素子を介して

cars_date_1 = cars_extract_drop[(df['as_of_date'] > '2015-10-14') & 
(df['as_of_date'] < '2015-10-15')] 

cars_date_2 = cars_extract_drop[(df['as_of_date'] > '2015-10-15') & 
(df['as_of_date'] < '2015-10-16')] 

cars_sold = cars_date_1[~cars_date_1['image'].isin(cars_date_2['image'])] 
+1

迅速なサイドノートとして、あなたがもし1 <<3 Pythonは 'サポートしていることを知っている必要があります:'もし 'の代わりに> 1およびa <3 'である。 Pythonは、このデイジーチェーンの条件をサポートしています... また、日付をハードコードする代わりに、ループ内の変数を使用して、月のすべての日付を繰り返し処理できます。月の境界を越えたい場合は、datetimeのような日付/時刻モジュールのいくつかを調べる必要があります。しかし、もしあなたが1ヶ月になっているなら、 ''2015-10-%02d '%i'のような書式設定のステートメントがそのトリックを行うかもしれません。本当にそれが必要な柔軟性にかかっています。 – Gary02127

+1

http://pandas.pydata.org/pandas-docs/stable/timeseries.html。 http://pandas.pydata.org/pandas-docs/stable/timeseries.html#resampling – wwii

+0

ようこそ。残念ながら、これはディスカッションフォーラムやチュートリアルサービスではありません。時間をかけて[ask]とそのページの他のリンクを読んでください。 – wwii

答えて

0

パンダpd.date_range()機能と反復:

rng = pd.date_range('1/1/2011', periods=365, freq='D') 


for i in range(365): 
    day_1 = rng(i) 
    day_2 = rng(i+1) 

    difference_function(day_1, day_2) 
関連する問題