Pandasテーブルを結合し、日付がnullの場合はNaN値を保持します

lrh09

日付が異なる複数の株価データがあるとします。すべての株式にわたって、合計100の日付があります。それぞれの日付が100未満の10の株式がある場合、各株式の日付が合計100で、データフレームの日付が10 * 100行= 1000行である最終的なデータフレームを取得したいと思います。持っていない、それはNaNの行でなければなりません。

df1
        date ticker      open      high       low     close  volume
0 2007-01-03   0001  0.133293  0.133293  0.133293  0.133293    40.0
1 2007-01-04   0001  0.133293  0.133293  0.133293  0.133293     0.0
2 2007-01-05   0001  0.133293  0.133293  0.128697  0.133293   215.0

df2
        date ticker      open      high       low     close  volume
0 2007-01-01   0002  0.111111  0.111111  0.111111  0.111111    11.1
1 2007-01-02   0002  0.111111  0.111111  0.111111  0.111111    11.1
2 2007-01-04   0002  0.111111  0.111111  0.111111  0.111111    11.1

結果としてdf

df1
        date ticker      open      high       low     close  volume
0 2007-01-01   0001       NaN       NaN       NaN       NaN     NaN  
1 2007-01-02   0001       NaN       NaN       NaN       NaN     NaN 
2 2007-01-03   0001  0.133293  0.133293  0.133293  0.133293    40.0
3 2007-01-04   0001  0.133293  0.133293  0.133293  0.133293     0.0
4 2007-01-05   0001  0.133293  0.133293  0.128697  0.133293   215.0
5 2007-01-01   0002  0.111111  0.111111  0.111111  0.111111    11.1
6 2007-01-02   0002  0.111111  0.111111  0.111111  0.111111    11.1
7 2007-01-03   0002       NaN       NaN       NaN       NaN     NaN
8 2007-01-04   0002  0.111111  0.111111  0.111111  0.111111    11.1
9 2007-01-05   0002       NaN       NaN       NaN       NaN     NaN
Tボーンステーキを一枚ください

あなたの最初のconcatあなたのデータフレームは、set_index日付やティッカー、reindexとのMultiIndex.from_productとのunique両方の列からの値とreset_index

df_f = pd.concat([df1,df2], axis=0)
df_f = df_f.set_index(['date','ticker'])\
           .reindex(pd.MultiIndex.from_product([df_f['date'].unique(), df_f['ticker'].unique()], 
                                                names=['date','ticker']))\
           .reset_index()#.sort_values(['ticker', 'date'])

print (df_f)
         date  ticker      open      high       low     close  volume
0  2007-01-03       1  0.133293  0.133293  0.133293  0.133293    40.0
1  2007-01-03       2       NaN       NaN       NaN       NaN     NaN
2  2007-01-04       1  0.133293  0.133293  0.133293  0.133293     0.0
3  2007-01-04       2  0.111111  0.111111  0.111111  0.111111    11.1
4  2007-01-05       1  0.133293  0.133293  0.128697  0.133293   215.0
5  2007-01-05       2       NaN       NaN       NaN       NaN     NaN
6  2007-01-01       1       NaN       NaN       NaN       NaN     NaN
7  2007-01-01       2  0.111111  0.111111  0.111111  0.111111    11.1
8  2007-01-02       1       NaN       NaN       NaN       NaN     NaN
9  2007-01-02       2  0.111111  0.111111  0.111111  0.111111    11.1

sort_values結果をどのようにソートするかに応じて、後で行うことができます

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

SQL Serverは、独自の値と日付が保持された2つのテーブルを結合します

分類Dev

SQLServerがnull値のテーブルを結合します

分類Dev

特定の日付のデータがテーブルにない場合は、0またはNull値を返しますか?

分類Dev

特定の日付のデータがテーブルにない場合は、0またはNull値を返しますか?

分類Dev

テーブルに値が含まれていない場合、MySQL結合はnullを返します

分類Dev

nullの可能性がある条件でテーブルを左結合し、条件がnullの場合はnull列を結合します

分類Dev

テーブルが空の場合、日付をnullとしてフェッチします

分類Dev

左に結合されたテーブルの行がnullの場合は、別の行を使用します

分類Dev

名前/値が類似している場合、SQLは2つのテーブルを結合します

分類Dev

列の値に基づいて日付が異なる2つのテーブルを結合しますか?

分類Dev

結合テーブルに特定の外部IDがない場合はnullを返します

分類Dev

右側のテーブルにNULLが存在する場合は左側のテーブルからすべての結果を返し、右側のテーブルにnullが存在しない場合は内部結合の結果を返します

分類Dev

Mysql-日付値が異なる2つのテーブルをgroupbyで結合します

分類Dev

日付が一致しない場合に2つのテーブルを結合する

分類Dev

結合されたテーブルに行が含まれていない場合、mySQLの結合テーブルはNULLを返します

分類Dev

2つのテーブルを日付で結合し、1つのテーブルに欠落している日付がある場合は欠落しているデータを入力します

分類Dev

2つのテーブルを左結合し、両方のテーブルに値が存在する場合は、右のテーブルの最新の値を保持します

分類Dev

SQLはnull値を持つ2つのテーブルを結合します

分類Dev

結合テーブルに結果行がない場合はデフォルト値を返します

分類Dev

日付条件を使用して2つのテーブルを結合します

分類Dev

MySQL 3つのテーブルを結合し、nullの場合は0を表示します

分類Dev

値がnanの場合、Jqueryは空/ nullを返します

分類Dev

2つのデータテーブルを結合して、日付範囲で値を上書きします

分類Dev

mysqlはnull値で2つのテーブルを結合します

分類Dev

Mysqlは条件付きのテーブルを結合します

分類Dev

postgresqlは、最後の値が日付未満の2つのテーブルとサブクエリを結合します

分類Dev

PHPCodeigniter-列がNULLに等しくない場合はテーブルを結合します

分類Dev

日付の最大値のIDを取得する方法を3つのテーブルで内部結合しますか?

分類Dev

Laravel EloquentとMysqlは、別の結合がnullの場合にテーブルに結合します

Related 関連記事

  1. 1

    SQL Serverは、独自の値と日付が保持された2つのテーブルを結合します

  2. 2

    SQLServerがnull値のテーブルを結合します

  3. 3

    特定の日付のデータがテーブルにない場合は、0またはNull値を返しますか?

  4. 4

    特定の日付のデータがテーブルにない場合は、0またはNull値を返しますか?

  5. 5

    テーブルに値が含まれていない場合、MySQL結合はnullを返します

  6. 6

    nullの可能性がある条件でテーブルを左結合し、条件がnullの場合はnull列を結合します

  7. 7

    テーブルが空の場合、日付をnullとしてフェッチします

  8. 8

    左に結合されたテーブルの行がnullの場合は、別の行を使用します

  9. 9

    名前/値が類似している場合、SQLは2つのテーブルを結合します

  10. 10

    列の値に基づいて日付が異なる2つのテーブルを結合しますか?

  11. 11

    結合テーブルに特定の外部IDがない場合はnullを返します

  12. 12

    右側のテーブルにNULLが存在する場合は左側のテーブルからすべての結果を返し、右側のテーブルにnullが存在しない場合は内部結合の結果を返します

  13. 13

    Mysql-日付値が異なる2つのテーブルをgroupbyで結合します

  14. 14

    日付が一致しない場合に2つのテーブルを結合する

  15. 15

    結合されたテーブルに行が含まれていない場合、mySQLの結合テーブルはNULLを返します

  16. 16

    2つのテーブルを日付で結合し、1つのテーブルに欠落している日付がある場合は欠落しているデータを入力します

  17. 17

    2つのテーブルを左結合し、両方のテーブルに値が存在する場合は、右のテーブルの最新の値を保持します

  18. 18

    SQLはnull値を持つ2つのテーブルを結合します

  19. 19

    結合テーブルに結果行がない場合はデフォルト値を返します

  20. 20

    日付条件を使用して2つのテーブルを結合します

  21. 21

    MySQL 3つのテーブルを結合し、nullの場合は0を表示します

  22. 22

    値がnanの場合、Jqueryは空/ nullを返します

  23. 23

    2つのデータテーブルを結合して、日付範囲で値を上書きします

  24. 24

    mysqlはnull値で2つのテーブルを結合します

  25. 25

    Mysqlは条件付きのテーブルを結合します

  26. 26

    postgresqlは、最後の値が日付未満の2つのテーブルとサブクエリを結合します

  27. 27

    PHPCodeigniter-列がNULLに等しくない場合はテーブルを結合します

  28. 28

    日付の最大値のIDを取得する方法を3つのテーブルで内部結合しますか?

  29. 29

    Laravel EloquentとMysqlは、別の結合がnullの場合にテーブルに結合します

ホットタグ

アーカイブ