pd.to_datetimeは、df.rolling計算のためにdatetimeをintに変換しません

リアム・ヒーリー

不規則な時間ステップのデータセットで10分以上の移動平均を作成しようとしています。以下のエラーが発生します

Traceback (most recent call last):
  File "asosreaderpandas.py", line 13, in <module>
    df.rolling('10min').mean()
  File "/opt/anaconda3/lib/python3.6/site-packages/pandas/core/generic.py", line 8900, in rolling
    on=on, axis=axis, closed=closed)
  File "/opt/anaconda3/lib/python3.6/site-packages/pandas/core/window.py", line 2469, in rolling
    return Rolling(obj, **kwds)
  File "/opt/anaconda3/lib/python3.6/site-packages/pandas/core/window.py", line 80, in __init__
    self.validate()
  File "/opt/anaconda3/lib/python3.6/site-packages/pandas/core/window.py", line 1478, in validate
    raise ValueError("window must be an integer")
ValueError: window must be an integer

これは、移動平均を作成するために使用しているコードです。.txtファイルの長さが98,000行であることを除いて、過去の問題を解決したので、タイムスタンプを手動で入力します...

import pandas as pd
from datetime import datetime

df = pd.read_csv('KART.txt', header = 0)
#indexing the date format from txt file
pd.to_datetime(df.index, format='%Y-%m-%d %H:%M')
#creating ten minute average
df.rolling('10min').mean()
print(df)

私はパンダモジュールをよく理解していません、私は自分の日時を無駄に割り当てる複数の方法を試しましたが、これは完全に間違っていますか?

データセットサンプル

0,1
2019-01-01 00:00:00,4
2019-01-01 00:05:00,4
2019-01-01 00:10:00,4
2019-01-01 00:15:00,4
2019-01-01 00:25:00,5
2019-01-01 00:30:00,4
2019-01-01 00:35:00,4
2019-01-01 00:40:00,4
2019-01-01 00:45:00,4
2019-01-01 00:50:00,4
2019-01-01 00:55:00,4
2019-01-01 00:56:00,4
2019-01-01 01:00:00,4
...
理論的

コードに複数の問題があります。

  1. あなたが持っている自動整数インデックス、あなたのデータフレームをロードするとき、列のインデックスを指定せずに、あなたのデータフレームに割り当てられているが(後で、あなたが望むものは明らかにされていない日時に変換してみてください)

  2. 日付に変換するときにインデックスを保存しません

修正バージョンは次のとおりです。

import pandas as pd
from datetime import datetime

df = pd.read_csv('KART.txt', header = 0, index_col=0)  # <- specified column index
df.index = pd.to_datetime(df.index, format='%Y-%m-%d %H:%M')  # <- saving index when converting it to datetime
df.rolling('10min').mean()
>                     1
0   
2019-01-01 00:00:00 4.0
2019-01-01 00:05:00 4.0
2019-01-01 00:10:00 4.0
2019-01-01 00:15:00 4.0
2019-01-01 00:25:00 5.0
2019-01-01 00:30:00 4.5
2019-01-01 00:35:00 4.0
2019-01-01 00:40:00 4.0
2019-01-01 00:45:00 4.0
2019-01-01 00:50:00 4.0
2019-01-01 00:55:00 4.0
2019-01-01 00:56:00 4.0
2019-01-01 01:00:00 4.0
...

編集Parfait
のコメントのおかげで、メソッドで日付を直接解析することで、コードのさらに短いバージョンを取得できますread_csv

import pandas as pd
from datetime import datetime

df = pd.read_csv('KART.txt', 
                 header = 0, 
                 index_col=0,  # <-- specified column index
                 parse_dates=True)  # <-- parsed dates from txt

df.rolling('10min').mean()

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

時間機能をpd.to_datetime()形式に変換します

分類Dev

遅いpd.to_datetime()

分類Dev

pd.to_datetimeはフォーマットを尊重しません

分類Dev

pd.to_datetimeを使用してintをHHMMSS形式で変換する

分類Dev

pd.to_datetimeは%a形式では機能しません

分類Dev

pandas to_datetimeは、ゼロが埋め込まれていない文字列をdatetimeに変換できませんでした

分類Dev

複数の列にpd.to_numericを適用した後、列Dtypeに変更はありません

分類Dev

pd.get_dummiesの結果をdf.str.get_dummiesに変換します

分類Dev

pd.df.plot.box()とpd.df.boxplot()の違い

分類Dev

pandasデータフレームのsort_values関数でpd.to_datetimeをJSONに変換する方法は?

分類Dev

Using pd.to_datetime to convert int with format HHMMSS

分類Dev

gnuplotは勾配を計算し、ラベルの位置合わせのために角度に変換します

分類Dev

間違った年pd.to_datetime

分類Dev

パンダto_datetimeは午後6時を18時に変換します

分類Dev

pd.Timedeltaは、日付間の差を計算するときに1日余分に追加します

分類Dev

パンダのto_datetime関数はdtypeを変更しません

分類Dev

pd.to_datetime使用時のエラー

分類Dev

異なる日付形式のpd.to_datetime

分類Dev

pd.to_datetimeよりも速い日付変換はありますか?

分類Dev

パンダto_datetimeは予期せず年を変更します

分類Dev

パンダpd.to_datetimeは時間を保持するだけで日付は保持しません

分類Dev

pd.to_datetimeのフォーマットを設定します

分類Dev

pd.to_datetime is getting half my dates with flipped day / months

分類Dev

pd.to_numericはシリーズ全体をNaNに変換します

分類Dev

pd.to_datetime()で頻度を設定する方法は?

分類Dev

`pd.pivot_table`と` pd.DataFrame.groupby` + `pd.DataFrame.unstack`の間に完全な重複はありますか?

分類Dev

pd.to_datetime形式に合うように、日付の日を置き換えます

分類Dev

df1の条件に基づいて、pdシリーズを作成し、df2またはdf3から値を報告します。

分類Dev

Pythonロギングはpd.info()をログに記録しません

Related 関連記事

  1. 1

    時間機能をpd.to_datetime()形式に変換します

  2. 2

    遅いpd.to_datetime()

  3. 3

    pd.to_datetimeはフォーマットを尊重しません

  4. 4

    pd.to_datetimeを使用してintをHHMMSS形式で変換する

  5. 5

    pd.to_datetimeは%a形式では機能しません

  6. 6

    pandas to_datetimeは、ゼロが埋め込まれていない文字列をdatetimeに変換できませんでした

  7. 7

    複数の列にpd.to_numericを適用した後、列Dtypeに変更はありません

  8. 8

    pd.get_dummiesの結果をdf.str.get_dummiesに変換します

  9. 9

    pd.df.plot.box()とpd.df.boxplot()の違い

  10. 10

    pandasデータフレームのsort_values関数でpd.to_datetimeをJSONに変換する方法は?

  11. 11

    Using pd.to_datetime to convert int with format HHMMSS

  12. 12

    gnuplotは勾配を計算し、ラベルの位置合わせのために角度に変換します

  13. 13

    間違った年pd.to_datetime

  14. 14

    パンダto_datetimeは午後6時を18時に変換します

  15. 15

    pd.Timedeltaは、日付間の差を計算するときに1日余分に追加します

  16. 16

    パンダのto_datetime関数はdtypeを変更しません

  17. 17

    pd.to_datetime使用時のエラー

  18. 18

    異なる日付形式のpd.to_datetime

  19. 19

    pd.to_datetimeよりも速い日付変換はありますか?

  20. 20

    パンダto_datetimeは予期せず年を変更します

  21. 21

    パンダpd.to_datetimeは時間を保持するだけで日付は保持しません

  22. 22

    pd.to_datetimeのフォーマットを設定します

  23. 23

    pd.to_datetime is getting half my dates with flipped day / months

  24. 24

    pd.to_numericはシリーズ全体をNaNに変換します

  25. 25

    pd.to_datetime()で頻度を設定する方法は?

  26. 26

    `pd.pivot_table`と` pd.DataFrame.groupby` + `pd.DataFrame.unstack`の間に完全な重複はありますか?

  27. 27

    pd.to_datetime形式に合うように、日付の日を置き換えます

  28. 28

    df1の条件に基づいて、pdシリーズを作成し、df2またはdf3から値を報告します。

  29. 29

    Pythonロギングはpd.info()をログに記録しません

ホットタグ

アーカイブ