パンダの移動平均と時間による選択的インデックス

Light_B

日付(datetime.datetime)に関してインデックスを再作成したデータセットがあります。データフレームの小さなサンプルは次のようになります、df2:

                                lat          lon        Press   NetLW
rounded_dt 1997-11-30 17:00:00  76.15387    -147.62606  998.8   -51.0
           1997-11-30 18:00:00  76.15280    -147.60379  1000.0  -50.9
           1997-11-30 19:00:00  76.15164    -147.58055  1001.1  -54.4
           1997-11-30 20:00:00  76.15037    -147.56047  1002.6  -52.2
           1997-11-30 21:00:00  76.14948    -147.54034  1004.2  -51.9
           1997-11-30 22:00:00  76.14834    -147.52181  1005.5  -51.3
           1997-11-30 23:00:00  76.14777    -147.50568  1006.5  -50.7
           1997-12-01 06:00:00  76.14152    -147.42073  1013.3  -44.6
           1997-12-01 07:00:00  76.14105    -147.41370  1013.8  -45.4
           1997-12-01 08:00:00  76.14072    -147.40661  1014.5  -46.1
           1997-12-01 09:00:00  76.14059    -147.40093  1015.0  -43.0

したがって、時系列は1時間ごとに毎日1年間継続します。

私の目的は何ですか?

NetLWに基づいて特定の日数のデータを抽出し、その日の11時間と23時間のみを抽出したいと思います。しかし、その時間のNetLWは、たとえば、11時間は、NetLW(10時間)、NetLW(11時間)、およびNetLW(12時間)で平均化する必要があります。

私はこれまで何をしましたか?

df3 = df2.rolling(window=3, center=True).mean() # to get the rolling mean
# I want to extract the dates of interest from df3
dates_list =[]
for idx in df2.index:
    # Winter dates (Dec-March)
    if idx > datetime.datetime(1997, 11, 30, 23) and idx < datetime.datetime(1998, 3, 1, 0): 
       if idx.hour ==11 or idx.hour == 23:
          dates_list.append(df3[df3.loc[idx, 'NetLW'] < -30.0])    

そして、dates_listを1つのシリーズ/データフレームに連結して日付を取得できます

エラーメッセージ KeyError:True

上記の例外の処理中に、別の例外が発生しました

そしてそれはこの線を指しています:

---> days_list.append(df3 [df3.loc [idx、 'NetLW'] <-30.0])

ブールdtypeを使用して、それをdf3のインデックスとして使用し、データを抽出することを期待しています。

また、複数のループを作成する代わりに、興味のある時間をグループ化できる場合は、Pandasを初めて使用するのでお知らせください。

Uvar

データフレームでのブールインデックス付けでは、通常、.locインデクサーを使用する必要がありますしかし、ここで起こっていることは、ループしているときにインデックスが1つしかないということです。自由に翻訳:df3_clear = df3[True or False]インデックスにTrueという行がないのではないかと思いますどちらでもないFalse

あなたが探しているものは次の線に沿っているようです(おそらくワンライナーかもしれませんが、私は少し怠惰です):

df3_clear = df3['1997-11-30 23:00':'1998-03-01'].query('NetLW < -30')
df3_clear = df3_clear.iloc[np.where((df3_clear.index.hour == 23) | (df3_clear.index.hour == 11))]

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

パンダ:時間間隔の移動平均とインデックスのグループ化

分類Dev

IDと時間によるインデックスの作成-パンダ

分類Dev

パンダの時間によるスマートインデックス作成

分類Dev

Elasticsearchインデックスで2つのプロパティ間の平均時間を選択します

分類Dev

パンダ日時インデックスの選択

分類Dev

パンダデータフレーム内のさまざまなイベントの1時間ごとおよび2時間の移動平均の計算

分類Dev

特定の間隔で時間を選択してパンダのDataFrameにインデックスを付ける方法は?

分類Dev

配列内のランダムに選択された2つのインデックス間の平均距離

分類Dev

パンダ:2つの日付の間のDataFrame行の選択(日時インデックス)

分類Dev

マルチインデックスのサブセットによるパンダからの行の選択

分類Dev

列レベル/軸1マルチインデックスによるパンダデータの選択

分類Dev

パンダの行インデックスとセル値に基づいてデータを選択する

分類Dev

移動平均によるパンダマルチインデックスデータフレームグループ

分類Dev

データフレームに複数のインデックスがある場合のパンダの移動平均計算

分類Dev

パンダ:時間による行の選択

分類Dev

日時インデックスの範囲を選択し、パンダのif条件を使用する方法

分類Dev

エポック時間のパンダインデックスを通常の時間に変換するにはどうすればよいですか?

分類Dev

パンダテーブルの行インデックスまたは列インデックスを軸ごとに選択する方法

分類Dev

パンダ:不均一なインデックス値に基づく移動平均

分類Dev

パンダ:不規則な時系列の時間加重移動平均

分類Dev

スパナテーブルとインデックスの作成には時間がかかるようです

分類Dev

パンダデータフレームのスライスを選択するときにインデックスを保持する

分類Dev

列に条件付きのパンダマルチインデックス選択

分類Dev

パンダのインデックス列から行を選択する方法

分類Dev

現在の時刻に基づいてランダムインデックスを選択する方法

分類Dev

パンダのマルチインデックスデータフレームによる高度な平均化

分類Dev

時間(h)をインデックス単位とするパンダの時系列をパンダの日時形式に変換するにはどうすればよいですか?

分類Dev

パンダ:別の列の値に対応するインデックスを持つ列から選択

分類Dev

日付インデックスに時間列を追加するパンダ

Related 関連記事

  1. 1

    パンダ:時間間隔の移動平均とインデックスのグループ化

  2. 2

    IDと時間によるインデックスの作成-パンダ

  3. 3

    パンダの時間によるスマートインデックス作成

  4. 4

    Elasticsearchインデックスで2つのプロパティ間の平均時間を選択します

  5. 5

    パンダ日時インデックスの選択

  6. 6

    パンダデータフレーム内のさまざまなイベントの1時間ごとおよび2時間の移動平均の計算

  7. 7

    特定の間隔で時間を選択してパンダのDataFrameにインデックスを付ける方法は?

  8. 8

    配列内のランダムに選択された2つのインデックス間の平均距離

  9. 9

    パンダ:2つの日付の間のDataFrame行の選択(日時インデックス)

  10. 10

    マルチインデックスのサブセットによるパンダからの行の選択

  11. 11

    列レベル/軸1マルチインデックスによるパンダデータの選択

  12. 12

    パンダの行インデックスとセル値に基づいてデータを選択する

  13. 13

    移動平均によるパンダマルチインデックスデータフレームグループ

  14. 14

    データフレームに複数のインデックスがある場合のパンダの移動平均計算

  15. 15

    パンダ:時間による行の選択

  16. 16

    日時インデックスの範囲を選択し、パンダのif条件を使用する方法

  17. 17

    エポック時間のパンダインデックスを通常の時間に変換するにはどうすればよいですか?

  18. 18

    パンダテーブルの行インデックスまたは列インデックスを軸ごとに選択する方法

  19. 19

    パンダ:不均一なインデックス値に基づく移動平均

  20. 20

    パンダ:不規則な時系列の時間加重移動平均

  21. 21

    スパナテーブルとインデックスの作成には時間がかかるようです

  22. 22

    パンダデータフレームのスライスを選択するときにインデックスを保持する

  23. 23

    列に条件付きのパンダマルチインデックス選択

  24. 24

    パンダのインデックス列から行を選択する方法

  25. 25

    現在の時刻に基づいてランダムインデックスを選択する方法

  26. 26

    パンダのマルチインデックスデータフレームによる高度な平均化

  27. 27

    時間(h)をインデックス単位とするパンダの時系列をパンダの日時形式に変換するにはどうすればよいですか?

  28. 28

    パンダ:別の列の値に対応するインデックスを持つ列から選択

  29. 29

    日付インデックスに時間列を追加するパンダ

ホットタグ

アーカイブ