日付列に基づいてパンダデータフレームに行を挿入します

sourav khanna

データフレームdfとリストliがあります。データフレーム列には次のものが含まれています。

    Student     Score   Date  
    A             10      15-03-19
    C             11      16-03-19
    A             12      16-03-19
    B             10      16-03-19
    A             9       17-03-19

私のリストにはすべての学生の名前が含まれていますli = [A、B、C]特定の日に来ていない学生がいる場合は、スコア値= 0のデータフレームに学生の名前を挿入します

私の最終データフレームは次のようになります。

    Student   Score   Date
    A         10      15-03-19
    B         0       15-03-19
    C         0       15-03-19
    C         11      16-03-19
    A         12      16-03-19 
    B         10      16-03-19
    A         9       17-03-19
    B         0       17-03-19
    C         0       17-03-19
ジェズリール

DataFrame.reindexと一緒に使用MultiIndex.from_product

li = list('ABC')

mux = pd.MultiIndex.from_product([df['Date'].unique(), li], names=['Date', 'Student'])
df = df.set_index(['Date', 'Student']).reindex(mux, fill_value=0).reset_index()
print (df)
       Date Student  Score
0  15-03-19       A     10
1  15-03-19       B      0
2  15-03-19       C      0
3  16-03-19       A     12
4  16-03-19       B     10
5  16-03-19       C     11
6  17-03-19       A      9
7  17-03-19       B      0
8  17-03-19       C      0

別の方法は、左結合DataFrame.mergeとヘルパーDataFrameを使用して作成しproduct、最後に欠落している値をfillna次のように置き換えることです

from  itertools import product
df1 = pd.DataFrame(list(product(df['Date'].unique(), li)), columns=['Date', 'Student'])
df = df1.merge(df, how='left').fillna(0)
print (df)
       Date Student  Score
0  15-03-19       A   10.0
1  15-03-19       B    0.0
2  15-03-19       C    0.0
3  16-03-19       A   12.0
4  16-03-19       B   10.0
5  16-03-19       C   11.0
6  17-03-19       A    9.0
7  17-03-19       B    0.0
8  17-03-19       C    0.0

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

日時インデックスを使用して日付に基づいてパンダデータフレームに行を挿入する

分類Dev

行の値に基づいてパンダのデータフレームに行を挿入しますか?

分類Dev

パンダ:日付に基づいてデータフレームに別の行を入力する

分類Dev

日時インデックスを使用して時間に基づいてパンダデータフレームに行を挿入する

分類Dev

日付列に基づいてデータフレームをフィルタリングするパンダ

分類Dev

1つ以上の列に基づいてパンダデータフレームに値を追加/挿入する

分類Dev

'時間'日時に基づいてパンダのデータフレーム行を選択します

分類Dev

日時列に基づいてパンダのデータフレームをスライスします

分類Dev

日付範囲に基づいてパンダデータフレームの行をマージする方法

分類Dev

日付と時刻の条件に基づいて行を削除するパンダのデータフレーム

分類Dev

指定された列の値に基づいてデータフレームに行を挿入します

分類Dev

パンダは、日付範囲と別の列に基づいてデータフレームをフィルタリングします

分類Dev

パンダ-日付に基づいてデータフレームを複数のデータフレームに分割しますか?

分類Dev

パンダデータフレームに日時に基づいてデータを選択します

分類Dev

日付列と日付範囲に基づいてパンダのデータフレームを埋める

分類Dev

パンダデータフレームの特定の値に等しい列に基づいて最小日付を見つけますか?

分類Dev

新しいパンダのデータフレーム列に、行の値に基づいて他の列の名前を入力します

分類Dev

列の値に基づいてパンダデータフレームから行を抽出します

分類Dev

行の集計数に基づいてパンダデータフレームの列を除外します

分類Dev

リストパンダに基づいてデータフレームに名前付き行を挿入する

分類Dev

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

分類Dev

日付に基づいてPandasデータフレーム列をインクリメントします

分類Dev

特定の日付範囲の間に他の列を挿入して、データフレームに新しい列を作成する-パンダ

分類Dev

パンダのデータフレームの別の列に基づく値でいくつかの新しい列を挿入します

分類Dev

状態/欠測データに基づいてデフォルト行をパンダデータフレームに挿入する

分類Dev

列に基づいてパンダデータフレームのデータを選択します

分類Dev

if / elif / and関数に基づいてパンダデータフレームに新しい列を作成します

分類Dev

日付に基づいてカテゴリ列を追加-パンダデータフレーム

分類Dev

ルールパンダデータフレームに基づいて新しい列を作成します

Related 関連記事

  1. 1

    日時インデックスを使用して日付に基づいてパンダデータフレームに行を挿入する

  2. 2

    行の値に基づいてパンダのデータフレームに行を挿入しますか?

  3. 3

    パンダ:日付に基づいてデータフレームに別の行を入力する

  4. 4

    日時インデックスを使用して時間に基づいてパンダデータフレームに行を挿入する

  5. 5

    日付列に基づいてデータフレームをフィルタリングするパンダ

  6. 6

    1つ以上の列に基づいてパンダデータフレームに値を追加/挿入する

  7. 7

    '時間'日時に基づいてパンダのデータフレーム行を選択します

  8. 8

    日時列に基づいてパンダのデータフレームをスライスします

  9. 9

    日付範囲に基づいてパンダデータフレームの行をマージする方法

  10. 10

    日付と時刻の条件に基づいて行を削除するパンダのデータフレーム

  11. 11

    指定された列の値に基づいてデータフレームに行を挿入します

  12. 12

    パンダは、日付範囲と別の列に基づいてデータフレームをフィルタリングします

  13. 13

    パンダ-日付に基づいてデータフレームを複数のデータフレームに分割しますか?

  14. 14

    パンダデータフレームに日時に基づいてデータを選択します

  15. 15

    日付列と日付範囲に基づいてパンダのデータフレームを埋める

  16. 16

    パンダデータフレームの特定の値に等しい列に基づいて最小日付を見つけますか?

  17. 17

    新しいパンダのデータフレーム列に、行の値に基づいて他の列の名前を入力します

  18. 18

    列の値に基づいてパンダデータフレームから行を抽出します

  19. 19

    行の集計数に基づいてパンダデータフレームの列を除外します

  20. 20

    リストパンダに基づいてデータフレームに名前付き行を挿入する

  21. 21

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

  22. 22

    日付に基づいてPandasデータフレーム列をインクリメントします

  23. 23

    特定の日付範囲の間に他の列を挿入して、データフレームに新しい列を作成する-パンダ

  24. 24

    パンダのデータフレームの別の列に基づく値でいくつかの新しい列を挿入します

  25. 25

    状態/欠測データに基づいてデフォルト行をパンダデータフレームに挿入する

  26. 26

    列に基づいてパンダデータフレームのデータを選択します

  27. 27

    if / elif / and関数に基づいてパンダデータフレームに新しい列を作成します

  28. 28

    日付に基づいてカテゴリ列を追加-パンダデータフレーム

  29. 29

    ルールパンダデータフレームに基づいて新しい列を作成します

ホットタグ

アーカイブ