空白行の列に基づいてデータフレームに新しい列を追加する

ザナム

複数の空白行がある次のようなデータフレームがあります。

 date   hour     Temp

6/1/2017    0:00    64
6/7/2017    22:00   63
6/7/2017    23:00   62

6/2/2017    0:00    62
6/2/2017    1:00    60
6/8/2017    23:00   65

6/6/2017    0:00    64
6/6/2017    1:00    64
6/12/2017   22:00   78
6/12/2017   23:00   76

以下を作成したい:

 date   hour     Temp   newDate

6/1/2017    0:00    64  6/1/2017
6/7/2017    22:00   63  6/1/2017
6/7/2017    23:00   62  6/1/2017

6/2/2017    0:00    62  6/2/2017
6/2/2017    1:00    60  6/2/2017
6/8/2017    23:00   65  6/2/2017

6/6/2017    0:00    64  6/6/2017
6/6/2017    1:00    64  6/6/2017
6/12/2017   22:00   78  6/6/2017
6/12/2017   23:00   76  6/6/2017

date空白行の直後の列からの最初の日付で新しい列が作成された場合

forループを作成しようとしていますが、もっと良い方法はありますか?

jpp

間違いなく、スマートなパンダソリューションがあります。しかし、これがを使用した解決策itertools.groupbyです。空白行はNaNアイテムで構成されていると想定し、np.nan == np.nan返すという事実を活用しますFalse

from itertools import groupby, chain

# group by items being NaN
grouper = groupby(df['date'], key=lambda x: x==x)

# extract first item, multiply and chain
chainer = chain.from_iterable([next(j)]*(len(list(j))+1) for _, j in grouper)

# assign to new series
df['newDate'] = list(chainer)

print(df)

         date   hour  Temp   newDate
0         NaN    NaN   NaN       NaN
1    6/1/2017   0:00  64.0  6/1/2017
2    6/7/2017  22:00  63.0  6/1/2017
3    6/7/2017  23:00  62.0  6/1/2017
4         NaN    NaN   NaN       NaN
5    6/2/2017   0:00  62.0  6/2/2017
6    6/2/2017   1:00  60.0  6/2/2017
7    6/8/2017  23:00  65.0  6/2/2017
8         NaN    NaN   NaN       NaN
9    6/6/2017   0:00  64.0  6/6/2017
10   6/6/2017   1:00  64.0  6/6/2017
11  6/12/2017  22:00  78.0  6/6/2017
12  6/12/2017  23:00  76.0  6/6/2017

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

行の最初の値に基づいて、データフレームに新しい列を追加します

分類Dev

既存の列の値に基づいてpandasデータフレームに新しい列を追加する

分類Dev

他の列の値に基づいてデータフレームに新しい列を追加する

分類Dev

複数の列の値に基づいてデータフレームに新しい列を追加する

分類Dev

他の列に基づいてpysparkデータフレームに新しい列を追加する

分類Dev

dplyrを使用して、他のデータフレームに基づいて新しい列を追加する

分類Dev

データフレーム内の行を反復処理して新しい列を作成し、新しい列に基づいて列を追加します

分類Dev

他の列の結果に基づいて、データフレームに新しい列を追加します

分類Dev

列の値に基づいて既存のデータフレームに新しい行を追加するにはどうすればよいですか?

分類Dev

「RosettaStone」データフレームに基づいて、1つの文字列を新しい文字列にマップする新しい列を追加しますか?

分類Dev

Rの条件に基づいて、データフレームに複数の新しい列を追加します

分類Dev

列名に基づいてデータフレームに行を追加し、空の列にNAを追加します

分類Dev

条件に基づいて別のデータフレームの値からデータフレームに新しい列を追加する

分類Dev

列の複数の値に基づいてデータフレームに新しい行を作成します

分類Dev

既存の列に基づいてデータフレームに新しい累積列を作成する

分類Dev

Rの他のデータフレームに値が存在するかどうかに基づいて、新しい列に新しい値を追加します

分類Dev

パターンに基づいてデータフレームの行を新しい列に文字列分割

分類Dev

行の基準に基づいてデータフレームに列を追加する

分類Dev

他の列に基づいてパンダデータフレームに新しい行を追加する方法は?

分類Dev

既存の列に基づいてデータフレームの新しい列を計算する

分類Dev

既存の列に基づいてデータフレーム内の新しい累積列を計算する

分類Dev

データフレームの2つの列に基づいて新しい列を作成する

分類Dev

データ フレームの他の列に基づいて新しい pandas 列を作成する方法は?

分類Dev

条件を含む文字列に基づいてデータフレームの新しい列を作成する方法

分類Dev

Pyspark:udfを使用して、別のデータフレームの値に基づいてデータフレームに新しい列を追加します

分類Dev

列の値に基づいてデータフレームに空白のセルを追加する(Excel:セルを挿入して右にシフト)

分類Dev

特定の列のルールに基づいて、パンダのデータフレームに新しい列を追加する必要があります

分類Dev

Pythonは、別の列の条件に基づいてデータフレームに行を追加します

分類Dev

列の1つの値に基づいて、データフレームに行を追加します

Related 関連記事

  1. 1

    行の最初の値に基づいて、データフレームに新しい列を追加します

  2. 2

    既存の列の値に基づいてpandasデータフレームに新しい列を追加する

  3. 3

    他の列の値に基づいてデータフレームに新しい列を追加する

  4. 4

    複数の列の値に基づいてデータフレームに新しい列を追加する

  5. 5

    他の列に基づいてpysparkデータフレームに新しい列を追加する

  6. 6

    dplyrを使用して、他のデータフレームに基づいて新しい列を追加する

  7. 7

    データフレーム内の行を反復処理して新しい列を作成し、新しい列に基づいて列を追加します

  8. 8

    他の列の結果に基づいて、データフレームに新しい列を追加します

  9. 9

    列の値に基づいて既存のデータフレームに新しい行を追加するにはどうすればよいですか?

  10. 10

    「RosettaStone」データフレームに基づいて、1つの文字列を新しい文字列にマップする新しい列を追加しますか?

  11. 11

    Rの条件に基づいて、データフレームに複数の新しい列を追加します

  12. 12

    列名に基づいてデータフレームに行を追加し、空の列にNAを追加します

  13. 13

    条件に基づいて別のデータフレームの値からデータフレームに新しい列を追加する

  14. 14

    列の複数の値に基づいてデータフレームに新しい行を作成します

  15. 15

    既存の列に基づいてデータフレームに新しい累積列を作成する

  16. 16

    Rの他のデータフレームに値が存在するかどうかに基づいて、新しい列に新しい値を追加します

  17. 17

    パターンに基づいてデータフレームの行を新しい列に文字列分割

  18. 18

    行の基準に基づいてデータフレームに列を追加する

  19. 19

    他の列に基づいてパンダデータフレームに新しい行を追加する方法は?

  20. 20

    既存の列に基づいてデータフレームの新しい列を計算する

  21. 21

    既存の列に基づいてデータフレーム内の新しい累積列を計算する

  22. 22

    データフレームの2つの列に基づいて新しい列を作成する

  23. 23

    データ フレームの他の列に基づいて新しい pandas 列を作成する方法は?

  24. 24

    条件を含む文字列に基づいてデータフレームの新しい列を作成する方法

  25. 25

    Pyspark:udfを使用して、別のデータフレームの値に基づいてデータフレームに新しい列を追加します

  26. 26

    列の値に基づいてデータフレームに空白のセルを追加する(Excel:セルを挿入して右にシフト)

  27. 27

    特定の列のルールに基づいて、パンダのデータフレームに新しい列を追加する必要があります

  28. 28

    Pythonは、別の列の条件に基づいてデータフレームに行を追加します

  29. 29

    列の1つの値に基づいて、データフレームに行を追加します

ホットタグ

アーカイブ