インデックスに重複データが含まれている場合に、パンダDataFrameの欠落している行を追加する

Pierre Hoshyar

私は次のようなDataFrameを持っdtype=objectています:

          YY    MM  DD  hh  var1    var2
.
.
.

10512   2013    01  01  06  1.64    4.64
10513   2013    01  01  07  1.57    4.63
10514   2013    01  01  08  1.56    4.71
10515   2013    01  01  09  1.45    4.69
10516   2013    01  01  10  1.53    4.67
10517   2013    01  01  11  1.31    4.63
10518   2013    01  01  12  1.41    4.70
10519   2013    01  01  13  1.49    4.80
10520   2013    01  01  20  1.15    4.91
10521   2013    01  01  21  1.14    4.74
10522   2013    01  01  22  1.10    4.95

hhご覧のとおり、時間()に対応する行が欠落しています(たとえば、10519から10520行の間hh、13から20にジャンプします)。hhここで説明したように、インデックスとして設定てギャップを追加しようとしました:データがない、パンダに行を挿入し、NANで埋める

df=df.set_index('hh')
new_index = pd.Index(np.arange(0,24), name="hh")
df=df.reindex(new_index).reset_index() 

そして次のようなものに到達します:

          YY    MM  DD  hh  var1    var2

10519   2013    01  01  13  1.49    4.80
10520   2013    01  01  14  Nan     Nan
10521   2013    01  01  15  Nan     Nan
10522   2013    01  01  16  Nan     Nan
...
10523   2013    01  01  20  1.15    4.91
10524   2013    01  01  21  1.14    4.74
10525   2013    01  01  22  1.10    4.95

しかし"cannot reindex from a duplicate axis"、パーツのエラーが発生しましたdf=df.reindex(new_index)hh=0,1,...,23同じ値がhh異なる月(MM)と年(YYで繰り返されるため、それぞれ重複する値がありますおそらくそれが理由です。どうすれば問題を解決できますか?

一般に、インデックスに重複データが含まれている場合、どのようにしてパンダDataFrameの欠落している行を埋めることができますか。コメントありがとうございます。

シャイド

まず、datetime型の時刻(日付と時刻を含む)を使用して新しい列を作成します。これを行う1つの方法は、次のとおりです。

df = df.rename(columns={'YY': 'year', 'MM': 'month', 'DD': 'day', 'hh': 'hour'})
df['time'] = pd.to_datetime(df[['year', 'month', 'day', 'hour']])

使用するにはto_datetime、このように、列名をする必要がありyearmonthday及びhourその理由でrename使用されています。

期待される結果を得るには、この新しい列をインデックスとして設定し、次を使用しますresample

df.set_index('time').resample('H').mean()

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

列が欠落している場合にインデックスの重みを変更する

分類Dev

複数の列に同じデータが含まれているが交換されている場合は、パンダDataFrameから行を削除します

分類Dev

インデックスに重複する値が含まれている場合、インデックスを使用するとパンダのマージが遅くなるのはなぜですか?

分類Dev

パンダで日付が欠落しているデータの日付に関してスマートインデックスを作成する方法

分類Dev

パンダ-列/インデックス値を維持しながら、欠落している日付をDataFrameに追加しますか?

分類Dev

パンダ:データが欠落している場合でも、列の一意の値ごとに行を作成します

分類Dev

Elasticsearch の全文検索: インデックスに欠落している/不明な単語がユーザー クエリに含まれている場合に 0 ヒットを返す方法

分類Dev

列に重複する値が含まれている場合にインデックスを使用してmySQLクエリを最適化する方法

分類Dev

マルチインデックスパンダシリーズで重複した行を合計し、欠落しているカテゴリにゼロを挿入します

分類Dev

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

分類Dev

欠落している日付インデックスをデータフレームに追加する

分類Dev

欠落しているインデックスをデータフレームに追加する

分類Dev

「欠落している」マルチインデックス行をパンダデータフレームに挿入する

分類Dev

すべての列に特定のパターンが含まれている場合は、パンダデータフレームの行を選択します

分類Dev

パンダ-データが欠落している行を挿入します

分類Dev

特定の番号/テキストがマルチインデックスパンダデータフレームのインデックスから欠落しているかどうかを確認するにはどうすればよいですか?

分類Dev

データが欠落している場合、Rはスクレイピングを停止します

分類Dev

グループ内の欠落している日付と値を重複するインデックス値で埋めるパンダ

分類Dev

グループ内の欠落している日付と値を重複するインデックス値で埋めるパンダ

分類Dev

sed-パターンが欠落している場合にのみ行を印刷します

分類Dev

観測値が欠落している場合は、データフレームに行を追加します

分類Dev

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

分類Dev

年と月でグループ化されたデータに欠落している月の行を作成します(マルチインデックス)

分類Dev

パンダの実行中のインデックスで欠落している行を生成する

分類Dev

列に特定の値が含まれている場合は、パンダデータフレームの行をドロップします。

分類Dev

オブジェクトインデックスが欠落している場合があるためのデータのパディング

分類Dev

SSIS-ソースデータセットのいずれかの行に欠落している値がある場合は失敗しますか?

分類Dev

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

分類Dev

営業日インデックスに基づいて、データフレーム内の複数の列に欠落している日付を代入する

Related 関連記事

  1. 1

    列が欠落している場合にインデックスの重みを変更する

  2. 2

    複数の列に同じデータが含まれているが交換されている場合は、パンダDataFrameから行を削除します

  3. 3

    インデックスに重複する値が含まれている場合、インデックスを使用するとパンダのマージが遅くなるのはなぜですか?

  4. 4

    パンダで日付が欠落しているデータの日付に関してスマートインデックスを作成する方法

  5. 5

    パンダ-列/インデックス値を維持しながら、欠落している日付をDataFrameに追加しますか?

  6. 6

    パンダ:データが欠落している場合でも、列の一意の値ごとに行を作成します

  7. 7

    Elasticsearch の全文検索: インデックスに欠落している/不明な単語がユーザー クエリに含まれている場合に 0 ヒットを返す方法

  8. 8

    列に重複する値が含まれている場合にインデックスを使用してmySQLクエリを最適化する方法

  9. 9

    マルチインデックスパンダシリーズで重複した行を合計し、欠落しているカテゴリにゼロを挿入します

  10. 10

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

  11. 11

    欠落している日付インデックスをデータフレームに追加する

  12. 12

    欠落しているインデックスをデータフレームに追加する

  13. 13

    「欠落している」マルチインデックス行をパンダデータフレームに挿入する

  14. 14

    すべての列に特定のパターンが含まれている場合は、パンダデータフレームの行を選択します

  15. 15

    パンダ-データが欠落している行を挿入します

  16. 16

    特定の番号/テキストがマルチインデックスパンダデータフレームのインデックスから欠落しているかどうかを確認するにはどうすればよいですか?

  17. 17

    データが欠落している場合、Rはスクレイピングを停止します

  18. 18

    グループ内の欠落している日付と値を重複するインデックス値で埋めるパンダ

  19. 19

    グループ内の欠落している日付と値を重複するインデックス値で埋めるパンダ

  20. 20

    sed-パターンが欠落している場合にのみ行を印刷します

  21. 21

    観測値が欠落している場合は、データフレームに行を追加します

  22. 22

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

  23. 23

    年と月でグループ化されたデータに欠落している月の行を作成します(マルチインデックス)

  24. 24

    パンダの実行中のインデックスで欠落している行を生成する

  25. 25

    列に特定の値が含まれている場合は、パンダデータフレームの行をドロップします。

  26. 26

    オブジェクトインデックスが欠落している場合があるためのデータのパディング

  27. 27

    SSIS-ソースデータセットのいずれかの行に欠落している値がある場合は失敗しますか?

  28. 28

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

  29. 29

    営業日インデックスに基づいて、データフレーム内の複数の列に欠落している日付を代入する

ホットタグ

アーカイブ