変更されたインデックスを使用してパンダデータフレームをピボットする方法は?

ヘルナナベラ

次の形式の時系列データフレームがあります。

rng = pd.date_range('1/1/2013', periods=1000, freq='10min')
ts = pd.Series(np.random.randn(len(rng)), index=rng)
ts = ts.to_frame(name=None)

私はそれに2つのことをする必要があります:

手順1:インデックスを変更して、毎日が前日の17:00:00に開始するようにします。私はこれを使用して行います:

ts.index = pd.to_datetime(ts.index.values + np.where((ts.index.time >= datetime.time(17)), pd.offsets.Day(1).nanos, 0))

ステップ2:次のようにデータフレームをピボットします。

ts_ = pd.pivot_table(ts, index=ts.index.date, columns=ts.index.time, values=0)

私が抱えている問題は、データフレームをピボットするときに、パンダがステップ1で行ったインデックスの変更を忘れているように見えることです。

これは私が得るものです

             00:00:00    00:10:00    00:20:00   ...  23:50:00
2013-01-10  -1.800381   -0.459226   -0.172929   ... -1.000381
2013-01-11  -1.258317   -0.973924    0.955224   ...  0.072929
2013-01-12  -0.834976    0.018793   -0.141608   ...  2.072929
2013-01-13  -0.131197    0.289998    2.200644   ...  1.589998
2013-01-14  -0.991653    0.276874   -1.390654   ... -2.090654

代わりに、これは望ましい結果です

             17:00:00    17:10:00    17:20:00   ...  16:50:00
2013-01-10  -2.800381    1.000226    2.172929   ...  0.172929
2013-01-11   0.312587    1.003924    2.556624   ... -0.556624
2013-01-12   2.976834    1.000003   -2.141608   ... -1.141608
2013-01-13   1.197131    1.333998   -2.999944   ... -1.999944
2013-01-14  -1.653991    1.278884   -1.390654   ... -4.390654

編集-明確化注:毎日「17:00:00」に開始し、「16:50:00」に終了することが望ましいことに注意してください。

Python2.7の使用

注: Nickil Maveliによって提示された解決策は答えに近いものですが、日付を間違った方向にシフトしています。アイデアは、Day_t = Day_t-1の「17:00」に開始するというものです。現在、ソリューションはDay_t = Starts at Day_t at'17:00 'を実行しています。

user1367204

だから私はいくつかの絵を描く必要があったので、ここにあります:

# Step 1:

df1 = df.ix[:,         :'16:59'] # http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.ix.html
df2 = df.ix[:, '17:00' :       ]

# Step 2:

df3 = df2.shift(periods = 1) # http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.shift.html

# Step 3: 

df4 = pandas.concat([df3, df1], axis = 1) # http://pandas.pydata.org/pandas-docs/stable/generated/pandas.concat.html

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

データが変更される場所を使用してパンダデータフレームにインデックスを付ける方法

分類Dev

ピボットを使用してパンダのデータフレームを再形成する方法は?

分類Dev

'Values'引数を変更してピボットパンダデータフレームを生成する

分類Dev

パンダでデータフレームをピボットする方法は?

分類Dev

パンダのデータフレームをピボットする方法は?

分類Dev

パンダのデータフレームをピボットする方法は?

分類Dev

ピボットを使用してデータフレームを再形成するPython。インデックスが表示されない

分類Dev

インデックスリストを使用してパンダデータフレームにインデックスを付ける方法は?

分類Dev

パンダ、マルチインデックスデータフレームでサブセットを使用して値をドロップする方法は?

分類Dev

パンダ-データフレームインデックスを使用して値を検索する方法

分類Dev

インデックス属性を使用して時系列パンダデータフレームを変換する方法は?

分類Dev

パンダでデータフレームのシフトされたインデックス値を取得する方法は?

分類Dev

マスキングを使用した重複のあるピボットパンダデータフレーム

分類Dev

長さが異なるインデックスとして配列を使用して、パンダデータフレームで一度に複数の値を変更するにはどうすればよいですか?

分類Dev

csvファイルまたはテキストファイルを使用してWebスクレイピングされたデータを表形式に変換する方法(パンダを使用しない)

分類Dev

Pythonパンダはインデックスデータフレームを変更します

分類Dev

パンダデータフレームグループ-変更されたインデックスによる

分類Dev

ネストされた辞書のリストを使用してパンダデータフレームの列をフラット化する方法

分類Dev

2つのPandasデータフレーム(ピボットされている)を列の階層インデックスとマージする方法

分類Dev

パンダ、iterrow()、itertuple()、インデックスを使用してデータフレームのサブセットにアクセスし、ピークのトップを見つける方法、トレンドの変化

分類Dev

パンダを使用したピボットデータフレーム

分類Dev

groupbyを使用してパンダのデータフレームをピボットする

分類Dev

パンダのデータフレームをピボットして、マルチインデックスの列を作成します

分類Dev

パンダでは、欠測値のあるデータフレームに、同様のインデックスが指定された別のデータフレームの値をパッチする方法を教えてください。

分類Dev

パンダのデータフレームでインデックスをリセットする方法は?

分類Dev

リーフレットクラスターマーカーは、データが変更されていなくても、開いているスパイダーを再レンダリングして閉じます

分類Dev

スクレイピングされたデータをパンダデータフレームPythonに変換/クリーンアップ

分類Dev

パンダのデータフレームのインデックスを列に変換する方法は?

分類Dev

インデックスを使用してパンダのマルチインデックスデータフレームを反復処理する方法

Related 関連記事

  1. 1

    データが変更される場所を使用してパンダデータフレームにインデックスを付ける方法

  2. 2

    ピボットを使用してパンダのデータフレームを再形成する方法は?

  3. 3

    'Values'引数を変更してピボットパンダデータフレームを生成する

  4. 4

    パンダでデータフレームをピボットする方法は?

  5. 5

    パンダのデータフレームをピボットする方法は?

  6. 6

    パンダのデータフレームをピボットする方法は?

  7. 7

    ピボットを使用してデータフレームを再形成するPython。インデックスが表示されない

  8. 8

    インデックスリストを使用してパンダデータフレームにインデックスを付ける方法は?

  9. 9

    パンダ、マルチインデックスデータフレームでサブセットを使用して値をドロップする方法は?

  10. 10

    パンダ-データフレームインデックスを使用して値を検索する方法

  11. 11

    インデックス属性を使用して時系列パンダデータフレームを変換する方法は?

  12. 12

    パンダでデータフレームのシフトされたインデックス値を取得する方法は?

  13. 13

    マスキングを使用した重複のあるピボットパンダデータフレーム

  14. 14

    長さが異なるインデックスとして配列を使用して、パンダデータフレームで一度に複数の値を変更するにはどうすればよいですか?

  15. 15

    csvファイルまたはテキストファイルを使用してWebスクレイピングされたデータを表形式に変換する方法(パンダを使用しない)

  16. 16

    Pythonパンダはインデックスデータフレームを変更します

  17. 17

    パンダデータフレームグループ-変更されたインデックスによる

  18. 18

    ネストされた辞書のリストを使用してパンダデータフレームの列をフラット化する方法

  19. 19

    2つのPandasデータフレーム(ピボットされている)を列の階層インデックスとマージする方法

  20. 20

    パンダ、iterrow()、itertuple()、インデックスを使用してデータフレームのサブセットにアクセスし、ピークのトップを見つける方法、トレンドの変化

  21. 21

    パンダを使用したピボットデータフレーム

  22. 22

    groupbyを使用してパンダのデータフレームをピボットする

  23. 23

    パンダのデータフレームをピボットして、マルチインデックスの列を作成します

  24. 24

    パンダでは、欠測値のあるデータフレームに、同様のインデックスが指定された別のデータフレームの値をパッチする方法を教えてください。

  25. 25

    パンダのデータフレームでインデックスをリセットする方法は?

  26. 26

    リーフレットクラスターマーカーは、データが変更されていなくても、開いているスパイダーを再レンダリングして閉じます

  27. 27

    スクレイピングされたデータをパンダデータフレームPythonに変換/クリーンアップ

  28. 28

    パンダのデータフレームのインデックスを列に変換する方法は?

  29. 29

    インデックスを使用してパンダのマルチインデックスデータフレームを反復処理する方法

ホットタグ

アーカイブ