時系列データの欠落している行をPythonのパンダデータフレームに追加する方法

user3104352

以下に示す製品の時系列データセットがあります。

date    product price   amount
11/17/2019  A   10  20
11/19/2019  A   15  20
11/24/2019  A   20  30
12/01/2019  C   40  50
12/05/2019  C   45  35

このデータには、各製品のデータの開始日と終了日の間に欠落している日( "MM / dd / YYYY")があります。欠落している日付をゼロ行で埋めて、前のテーブルを以下のテーブルに変換しようとしています。

date    product price   amount
11/17/2019  A   10  20
11/18/2019  A   0   0
11/19/2019  A   15  20
11/20/2019  A   0   0
11/21/2019  A   0   0
11/22/2019  A   0   0
11/23/2019  A   0   0
11/24/2019  A   20  30
12/01/2019  C   40  50
12/02/2019  C   0   0
12/03/2019  C   0   0
12/04/2019  C   0   0
12/05/2019  C   45  35

この変換を取得するために、私はコードを使用しました:

import pandas as pd
import numpy as np
data=pd.read_csv("test.txt", sep="\t", parse_dates=['date'])
data=data.set_index(["date", "product"])
start=data.first_valid_index()[0]
end=data.last_valid_index()[0]
df=data.set_index("date").reindex(pd.date_range(start,end, freq="1D"), fill_values=0)

ただし、コードはエラーを出します。この変換を効率的に行う方法はありますか?

ジェズリール

0欠落している日時をそれぞれproduct個別に追加する必要がある場合GroupBy.applyDataFrame.reindex、最小および最大の日時カスタム関数を使用します

df = pd.read_csv("test.txt", sep="\t", parse_dates=['date'])

f = lambda x: x.reindex(pd.date_range(x.index.min(), 
                                      x.index.max(), name='date'), fill_value=0)
df = (df.set_index('date')
        .groupby('product')
        .apply(f)
        .drop('product', axis=1)
        .reset_index())
print (df)
   product       date  price  amount
0        A 2019-11-17     10      20
1        A 2019-11-18      0       0
2        A 2019-11-19     15      20
3        A 2019-11-20      0       0
4        A 2019-11-21      0       0
5        A 2019-11-22      0       0
6        A 2019-11-23      0       0
7        A 2019-11-24     20      30
8        C 2019-12-01     40      50
9        C 2019-12-02      0       0
10       C 2019-12-03      0       0
11       C 2019-12-04      0       0
12       C 2019-12-05     45      35

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonパンダ:欠落している日付、時系列の行をgroupbyデータフレームに挿入します

分類Dev

欠落している日時値に基づいて空のデータフレーム行を追加する

分類Dev

パンダのデータフレームを更新し、パターンを考慮して欠落している行を追加する

分類Dev

データが欠落しているデータフレームに値が「0」の行を追加する

分類Dev

データフレームに欠落しているデータの行を作成する方法

分類Dev

パンダのデータフレーム列に欠落時間を追加する

分類Dev

欠落している日付をパンダデータフレームに追加する

分類Dev

パンダは範囲からデータフレームに欠落している週を追加します

分類Dev

パンダの状態に基づいて、あるデータフレームから別のデータフレームに欠落している行を追加するにはどうすればよいですか?

分類Dev

Pythonパンダデータフレームの欠落している行を繰り返しパターンで埋めます

分類Dev

同様の行を使用して、Pythonパンダデータフレームの欠落している行を埋めます

分類Dev

パンダのデータフレームを拡張して、「欠落している」週を含めます

分類Dev

パンダ-時系列データの欠落している時間を埋めます

分類Dev

欠落している行の明示的な表現をデータフレームに追加しますか?

分類Dev

R または Python のデータ フレームに欠落している秒を追加する

分類Dev

データフレームの欠落している行を修復する

分類Dev

パンダデータフレームで欠落している行の数をユーザーインデックスでカウントします

分類Dev

インデックスで2つのパンダデータフレームをマージするが、欠落している値を埋める方法

分類Dev

Rの他のデータフレームからデータフレームに欠落している行を追加します

分類Dev

パンダのデータフレームで欠落しているタイムスタンプを段階的に埋める方法は?

分類Dev

日付が欠落しているデータフレームを時系列に変換します

分類Dev

パンダデータフレームに欠落している値を間違って入力する

分類Dev

データフレームに欠落している日を追加する

分類Dev

パンダ:データが欠落している行の数

分類Dev

Postgresqlの時系列データに欠落している月の日付を追加します

分類Dev

時系列データフレームに新しい行を追加する方法

分類Dev

時系列データテーブルに欠落している日付レコードを追加する

分類Dev

データをシミュレートし、欠落している値をデータフレームにランダムに追加します

分類Dev

パンダのデータフレームをリサンプリングし、時系列データの欠落値を補間します

Related 関連記事

  1. 1

    Pythonパンダ:欠落している日付、時系列の行をgroupbyデータフレームに挿入します

  2. 2

    欠落している日時値に基づいて空のデータフレーム行を追加する

  3. 3

    パンダのデータフレームを更新し、パターンを考慮して欠落している行を追加する

  4. 4

    データが欠落しているデータフレームに値が「0」の行を追加する

  5. 5

    データフレームに欠落しているデータの行を作成する方法

  6. 6

    パンダのデータフレーム列に欠落時間を追加する

  7. 7

    欠落している日付をパンダデータフレームに追加する

  8. 8

    パンダは範囲からデータフレームに欠落している週を追加します

  9. 9

    パンダの状態に基づいて、あるデータフレームから別のデータフレームに欠落している行を追加するにはどうすればよいですか?

  10. 10

    Pythonパンダデータフレームの欠落している行を繰り返しパターンで埋めます

  11. 11

    同様の行を使用して、Pythonパンダデータフレームの欠落している行を埋めます

  12. 12

    パンダのデータフレームを拡張して、「欠落している」週を含めます

  13. 13

    パンダ-時系列データの欠落している時間を埋めます

  14. 14

    欠落している行の明示的な表現をデータフレームに追加しますか?

  15. 15

    R または Python のデータ フレームに欠落している秒を追加する

  16. 16

    データフレームの欠落している行を修復する

  17. 17

    パンダデータフレームで欠落している行の数をユーザーインデックスでカウントします

  18. 18

    インデックスで2つのパンダデータフレームをマージするが、欠落している値を埋める方法

  19. 19

    Rの他のデータフレームからデータフレームに欠落している行を追加します

  20. 20

    パンダのデータフレームで欠落しているタイムスタンプを段階的に埋める方法は?

  21. 21

    日付が欠落しているデータフレームを時系列に変換します

  22. 22

    パンダデータフレームに欠落している値を間違って入力する

  23. 23

    データフレームに欠落している日を追加する

  24. 24

    パンダ:データが欠落している行の数

  25. 25

    Postgresqlの時系列データに欠落している月の日付を追加します

  26. 26

    時系列データフレームに新しい行を追加する方法

  27. 27

    時系列データテーブルに欠落している日付レコードを追加する

  28. 28

    データをシミュレートし、欠落している値をデータフレームにランダムに追加します

  29. 29

    パンダのデータフレームをリサンプリングし、時系列データの欠落値を補間します

ホットタグ

アーカイブ