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

MCAT

このようなパンダのデータフレームがあります:

    date_time    var1     var2    var3   var4    var6
20080322 0000       0        0       0      0     -11
20080322 0001       0        5       0      0       9
20080322 0003       5        0       0      0       0
20080322 0004       0        0      11      0      -9
20080322 0005       0       12       0      0       1
20080322 0009       7        0       0      4       5
20080322 0010       0        0       0      0      27

データが数分欠落しています(0002、0006、0007、0008)。欠落している行をデータフレームに挿入するための良い方法を探しています。私がこれまでに試したこと:

import pandas as pd
widths = [13,8,9,8,7,8]
df = pd.read_fwf("data", widths=widths)

df['date_time'] = pd.to_datetime(df['date_time'] , format='%Y%m%d %H%M')
df = df.set_index('date_time').reindex(pd.date_range("20080322 0000", "20080322 0010", freq='1min').strftime('%Y%m%d %H%M'), fill_value="NaN")
print (df)

欠落している行が表示されますが、すべての値はNaNです。何か案は?

ジェズリール

考えられる解決策の1つは、日時への変換を削除し、文字列(によって作成されたDatetimeIndex.strftime)でインデックスを再作成することです。

df = pd.read_fwf("data", widths=widths)

df = (df.set_index('date_time')
        .reindex(pd.date_range("20080322 0000", "20080322 0010", freq='1min')
        .strftime('%Y%m%d %H%M')))
print (df)
               var1  var2  var3  var4  var6
20080322 0000   0.0   0.0   0.0   0.0 -11.0
20080322 0001   0.0   5.0   0.0   0.0   9.0
20080322 0002   NaN   NaN   NaN   NaN   NaN
20080322 0003   5.0   0.0   0.0   0.0   0.0
20080322 0004   0.0   0.0  11.0   0.0  -9.0
20080322 0005   0.0  12.0   0.0   0.0   1.0
20080322 0006   NaN   NaN   NaN   NaN   NaN
20080322 0007   NaN   NaN   NaN   NaN   NaN
20080322 0008   NaN   NaN   NaN   NaN   NaN
20080322 0009   7.0   0.0   0.0   4.0   5.0
20080322 0010   0.0   0.0   0.0   0.0  27.0

別の解決策はstrftime、日時を文字列に変換するために削除することです。そのため、日時でインデックスを再作成します。

df = pd.read_fwf("data", widths=widths)

df['date_time'] = pd.to_datetime(df['date_time'] , format='%Y%m%d %H%M')
df = (df.set_index('date_time')
        .reindex(pd.date_range("20080322 0000", "20080322 0010", freq='1min')))

または使用DataFrame.asfreq-での作業DatetimeIndex

df = pd.read_fwf("data", widths=widths)

df['date_time'] = pd.to_datetime(df['date_time'] , format='%Y%m%d %H%M')
df = df.set_index('date_time').asfreq('1 Min')

print (df)
                     var1  var2  var3  var4  var6
2008-03-22 00:00:00   0.0   0.0   0.0   0.0 -11.0
2008-03-22 00:01:00   0.0   5.0   0.0   0.0   9.0
2008-03-22 00:02:00   NaN   NaN   NaN   NaN   NaN
2008-03-22 00:03:00   5.0   0.0   0.0   0.0   0.0
2008-03-22 00:04:00   0.0   0.0  11.0   0.0  -9.0
2008-03-22 00:05:00   0.0  12.0   0.0   0.0   1.0
2008-03-22 00:06:00   NaN   NaN   NaN   NaN   NaN
2008-03-22 00:07:00   NaN   NaN   NaN   NaN   NaN
2008-03-22 00:08:00   NaN   NaN   NaN   NaN   NaN
2008-03-22 00:09:00   7.0   0.0   0.0   4.0   5.0
2008-03-22 00:10:00   0.0   0.0   0.0   0.0  27.0

必要に応じて最後のindex追加の元の形式DatetimeIndex.strftime

df.index = df.index.strftime('%Y%m%d %H%M')
print (df)
               var1  var2  var3  var4  var6
20080322 0000   0.0   0.0   0.0   0.0 -11.0
20080322 0001   0.0   5.0   0.0   0.0   9.0
20080322 0002   NaN   NaN   NaN   NaN   NaN
20080322 0003   5.0   0.0   0.0   0.0   0.0
20080322 0004   0.0   0.0  11.0   0.0  -9.0
20080322 0005   0.0  12.0   0.0   0.0   1.0
20080322 0006   NaN   NaN   NaN   NaN   NaN
20080322 0007   NaN   NaN   NaN   NaN   NaN
20080322 0008   NaN   NaN   NaN   NaN   NaN
20080322 0009   7.0   0.0   0.0   4.0   5.0
20080322 0010   0.0   0.0   0.0   0.0  27.0

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

パンダは時系列で欠落している日付を埋めます

分類Dev

時系列データの欠落しているポイントをpandas.date_rangeおよびpandas.reindexpythonで埋めます

分類Dev

パンダ:マルチインデックス時系列で欠落している期間/日時の値を埋める方法は?

分類Dev

パンダは他の行の列から欠落しているデータを埋めます

分類Dev

パンダはグループ化して、欠落している時間間隔シーケンスを埋めます

分類Dev

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

分類Dev

パンダのデータフレーム内の間隔の日付で欠落している観測値を埋めます

分類Dev

時間単位が欠落している時系列のパディング

分類Dev

時間単位が欠落している時系列のパディング

分類Dev

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

分類Dev

最も近い時間を使用してデータフレームを結合し、特定のオブジェクトの欠落しているタイムスタンプを埋めます

分類Dev

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

分類Dev

パンダの日付の時間列に欠落しているタイムスタンプを埋める方法

分類Dev

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

分類Dev

パンダの欠落している列を連結して埋めます

分類Dev

パンダ-補間によって欠落している緯度の長い座標を埋めます

分類Dev

Pythonで「欠落している時間パターン」と「それらを特定の値で効率的に埋める」方法を教えてください。

分類Dev

パンダ-異なる時間範囲のグループ内の欠落している日付を埋める

分類Dev

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

分類Dev

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

分類Dev

Pythonで昨日のデータ(同じDataTime)から欠落している値を埋めるパンダ

分類Dev

マルチインデックスデータフレームで欠落している時間値を埋める

分類Dev

パンダデータフレーム:グループ内のサイクルで欠落している値を埋める方法はありますか?

分類Dev

動物園パッケージを使用して、Rの時系列データに欠落している日付と時刻を入力する

分類Dev

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

分類Dev

パンダは0の値で欠落している日付と時間を生成します

分類Dev

パンダ:大きなデータセットで欠落している値を埋める方法は?

分類Dev

データが欠落し、パンダに行を挿入してNANで埋めます

分類Dev

タイムゾーンが欠落している時間を変換する

Related 関連記事

  1. 1

    パンダは時系列で欠落している日付を埋めます

  2. 2

    時系列データの欠落しているポイントをpandas.date_rangeおよびpandas.reindexpythonで埋めます

  3. 3

    パンダ:マルチインデックス時系列で欠落している期間/日時の値を埋める方法は?

  4. 4

    パンダは他の行の列から欠落しているデータを埋めます

  5. 5

    パンダはグループ化して、欠落している時間間隔シーケンスを埋めます

  6. 6

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

  7. 7

    パンダのデータフレーム内の間隔の日付で欠落している観測値を埋めます

  8. 8

    時間単位が欠落している時系列のパディング

  9. 9

    時間単位が欠落している時系列のパディング

  10. 10

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

  11. 11

    最も近い時間を使用してデータフレームを結合し、特定のオブジェクトの欠落しているタイムスタンプを埋めます

  12. 12

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

  13. 13

    パンダの日付の時間列に欠落しているタイムスタンプを埋める方法

  14. 14

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

  15. 15

    パンダの欠落している列を連結して埋めます

  16. 16

    パンダ-補間によって欠落している緯度の長い座標を埋めます

  17. 17

    Pythonで「欠落している時間パターン」と「それらを特定の値で効率的に埋める」方法を教えてください。

  18. 18

    パンダ-異なる時間範囲のグループ内の欠落している日付を埋める

  19. 19

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

  20. 20

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

  21. 21

    Pythonで昨日のデータ(同じDataTime)から欠落している値を埋めるパンダ

  22. 22

    マルチインデックスデータフレームで欠落している時間値を埋める

  23. 23

    パンダデータフレーム:グループ内のサイクルで欠落している値を埋める方法はありますか?

  24. 24

    動物園パッケージを使用して、Rの時系列データに欠落している日付と時刻を入力する

  25. 25

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

  26. 26

    パンダは0の値で欠落している日付と時間を生成します

  27. 27

    パンダ:大きなデータセットで欠落している値を埋める方法は?

  28. 28

    データが欠落し、パンダに行を挿入してNANで埋めます

  29. 29

    タイムゾーンが欠落している時間を変換する

ホットタグ

アーカイブ