質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

917閲覧

CSVファイル内の時系列データを1秒区切りで平均化 再度CSV出力

mizumizumizu

総合スコア2

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/11/02 05:05

編集2022/11/09 07:28

前提

下記のことを行いたいのですが、コードでエラーが出てどのように修正すればよいか分からず教えて頂きたいです。
各列にTIME(データ取得日時),測定値が格納されたCSVファイルを、1秒毎に平均化してCSVファイルに出力したい
下記は使用するCSVデータで名称「test.csv」

[LOGGING],RD81DL96_1,2,3,4
DATETIME[YYYY/MM/DD hh:mm:ss.s],INDEX,BIT[1;0],BIT[1;0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],TRIGGER[*;-]
TIME
2022/10/20 10:46:13.8,1987,1,0,0,0,0,29,13,22,12,0,0,0,0,0,0,0,0,0,7,4,2,1,4,4,2,77,5,1,12,4,42,4,0,0,3,5,11,6,6,1,8,89,3,5,7,11,34,8,0,0,253,305,340,378,380,384,427,309,298,301,291,295,283,292,293,298,407,574,418,294,203,122,161,0,0,0,0,0,0,0,0,0,236,453,3,332,246,613,772,854,817,922,945,853,957,685,344,253,18,239,468,468,490,467,46,644,0,0,0,0,0,0,0,0,103,29,113,50,88,157,108,103,63,69,96,88,68,72,104,104,92,50,85,80,55,96,48,0,0,0,0,0,0,0,0,0,63,97,196,78,112,55,74,123,128,90,96,78,222,185,76,54,90,39,51,36,57,52,49,39,192,116,18,24,62,8,25,73,76,131,89,122,116,118,28,9,12,77,58,50,4,124,79,129,
2022/10/20 10:46:13.9,1988,1,0,0,0,0,7,13,22,12,0,0,0,0,0,0,0,0,0,6,5,1,1,3,3,1,408,4,3,12,4,43,3,0,0,3,5,11,8,6,2,7,46,1,4,5,11,34,7,0,0,255,307,341,376,378,384,443,310,310,294,299,294,279,283,289,285,414,553,558,300,235,101,134,0,0,0,0,0,0,0,0,0,272,467,21,332,319,536,755,845,788,804,868,900,908,760,333,257,6,240,426,429,500,467,47,666,0,0,0,0,0,0,0,0,106,38,114,52,91,152,113,111,64,56,108,82,30,87,94,74,57,61,97,75,61,85,58,0,0,0,0,0,0,0,0,0,72,62,212,90,81,47,69,100,88,97,89,75,188,155,51,20,98,52,56,33,44,53,52,55,198,119,96,26,59,16,26,19,123,143,110,114,109,149,90,9,10,70,56,0,165,111,109,133,
2022/10/20 10:46:14.0,1989,1,0,0,0,0,3,12,22,13,0,0,0,0,0,0,0,0,0,6,5,1,2,2,4,1,5,4,1,11,4,43,3,0,0,2,4,12,7,7,2,7,0,2,4,5,11,33,6,0,0,253,305,338,372,376,384,440,339,313,305,299,291,281,300,287,281,363,465,615,337,306,137,133,0,0,0,0,0,0,0,0,0,289,398,44,344,310,398,745,835,768,853,916,879,900,802,348,256,8,208,409,448,496,465,42,585,0,0,0,0,0,0,0,0,89,50,127,35,118,177,138,101,73,71,108,85,62,47,80,127,55,56,95,153,61,198,43,0,0,0,0,0,0,0,0,0,34,82,160,99,40,55,60,80,60,118,104,82,119,128,42,102,78,47,67,32,31,45,45,49,189,124,101,23,60,17,23,12,157,124,104,123,119,140,132,1,9,71,57,9,209,131,91,128,
2022/10/20 10:46:14.1,1990,1,0,0,0,0,4,12,22,12,0,0,0,0,0,0,0,0,0,6,6,1,1,3,4,1,7,4,1,13,4,43,3,0,0,1,5,11,7,7,1,7,3,1,4,5,11,35,7,0,0,253,304,335,367,374,384,437,372,313,306,307,298,283,304,281,279,319,370,616,426,363,246,93,0,0,0,0,0,0,0,0,0,281,438,31,341,322,262,615,824,737,840,918,925,908,816,369,253,94,127,399,408,536,486,48,452,0,0,0,0,0,0,0,0,98,51,110,58,104,162,114,89,74,80,94,82,36,77,87,119,1,66,77,90,56,130,66,0,0,0,0,0,0,0,0,0,49,94,220,111,63,40,134,101,73,78,129,68,115,131,49,88,99,45,59,34,40,50,59,43,192,128,88,98,53,17,22,69,89,129,122,115,119,133,123,42,11,63,60,71,230,99,114,136,
2022/10/20 10:46:14.2,1991,1,0,0,0,0,1,13,22,11,0,0,0,0,0,0,0,0,0,7,5,2,1,3,3,1,7,596,2,10,3,42,2,0,0,3,6,13,7,8,2,8,4,130,4,6,11,32,8,0,0,252,304,334,366,372,383,432,375,333,312,302,289,290,311,286,280,301,358,519,434,298,346,152,0,0,0,0,0,0,0,0,0,277,431,44,368,314,243,481,817,711,877,965,913,905,827,424,282,90,120,375,399,518,524,55,426,0,0,0,0,0,0,0,0,98,34,105,50,80,163,104,110,76,78,76,82,59,65,76,106,39,55,81,121,55,84,51,0,0,0,0,0,0,0,0,0,80,74,212,82,83,60,90,33,92,88,135,59,85,113,42,100,92,58,65,36,47,46,56,40,209,125,101,116,51,20,23,26,58,93,129,127,118,138,124,113,12,59,58,79,120,84,103,137,

実現したいこと

・上記CSVデータを1秒刻みで平均化したい
2022/10/20 10:46:13台は46:13.8から46:13.9の2行のデータで平均化
2022/10/20 10:46:14台は46:14.0から46:14.2の3行のデータで平均化
その1秒の中で持っているデータの行数が異なっていても、持っている個数に応じて平均化したい
実際に使用するデータは上記のようなデータが無数に格納されるので、今回の46:13台、46:14台だけが持っている個数で平均化できれば良いわけでは無い

・平均化されたデータを再度CSVファイルに出力したい

発生している問題・エラーメッセージ

raise KeyError(key) from err
KeyError: 'TIME'

該当のソースコード

import pandas as pd

df = pd.read_csv("test.csv",encoding="cp932",sep=',',index_col=0,parse_dates=True,skiprows=2)

df['datetime'] = pd.to_datetime(df['TIME']) # 日時情報が入った列をdatetime型へ変換

df.set_index('datetime',inplace=True) #indexにdatetime列を指定し、置き換え

df_resample = df.resample('S').sum()

df_resample.to_csv('output.comcsv')

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

can110

2022/11/02 05:17

- CSVファイル先頭2行は何らかの処理とは無関係のヘッダ行、3行目が列見出し行、区切り文字はカンマではなく空白ということでしょうか? -TIME列の値(の意味)について、「2022/10/20 10:46:13.8」が「46:13.8」となるならば「2022/10/20 11:46:13.8」も同じ「46:13.8」となるのでしょうか? 「上部の数式表示欄」とは何らかのソフト上で表示されているものでしょうか? - 結果ファイルでのTIME列の値は「46:13」と小数点以下切り捨てという認識でよいでしょうか?
mizumizumizu

2022/11/02 06:55

コメントありがとうございます。 - CSVファイル先頭2行は何らかの処理とは無関係のヘッダ行、3行目が列見出し行、区切り文字はカンマではなく空白ということでしょうか? →その通りです 結果ファイルでのTIME列の値は「46:13」と小数点以下切り捨てという認識でよいでしょうか? →その通りです。 -TIME列の値(の意味)について、「2022/10/20 10:46:13.8」が「46:13.8」となるならば「2022/10/20 11:46:13.8」も同じ「46:13.8」となるのでしょうか? 「上部の数式表示欄」とは何らかのソフト上で表示されているものでしょうか? csvファイルをexcelで開いたときの、ホームなどの下にある数式欄です セルの値が2の場合、数式欄には=1+1や2と表示されたり、直接入力している場合は2と表示されます
bsdfan

2022/11/02 07:32

csvファイルをテキストエディタで開いて、先頭数行をコピーしたものを、そのまま質問に追記できませんか。 (Excelでcsvを開いたとき、中でいろんなことをやってくれるので、表示されているものをそのまま信じると、実は違っているという場合があります)
jbpb0

2022/11/02 23:47 編集

質問者さん can110さんのコメントの内の > 「2022/10/20 10:46:13.8」が「46:13.8」となるならば「2022/10/20 11:46:13.8」も同じ「46:13.8」となるのでしょうか? に付いては、いかがでしょうか?
mizumizumizu

2022/11/07 00:47

bsdfan様 jbpbo様 コメントありがとうございます。 またご返信が遅れてしまい大変申し訳ありません。 -csvファイルをテキストエディタで開いて、先頭数行をコピーしたものを、そのまま質問に追記できませんか。 (Excelでcsvを開いたとき、中でいろんなことをやってくれるので、表示されているものをそのまま信じると、実は違っているという場合があります) →下記に記載させて頂きます。 [LOGGING],RD81DL96_1,2,3,4,,, DATETIME[YYYY/MM/DD hh:mm:ss.s],INDEX,BIT[1;0],BIT[1;0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0] TIME,A,B,C,D,E,F,G 46:13.8,1987,1,0,0,0,0,29 46:13.9,1988,1,0,0,0,0,7 46:14.0,1989,1,0,0,0,0,3 46:14.1,1990,1,0,0,0,0,4 46:14.2,1991,1,0,0,0,0,1 46:14.3,1992,1,0,0,0,0,3 46:14.4,1993,1,0,0,0,0,26 46:14.5,1994,1,0,0,0,0,29 46:14.6,1995,1,0,0,0,0,2 46:14.7,1996,1,0,0,0,0,2 46:14.8,1997,1,0,0,0,0,3 46:14.9,1998,1,0,0,0,0,6 46:15.0,1999,1,0,0,0,0,9 46:15.1,2000,1,0,0,0,0,9 46:15.2,2001,1,0,0,0,0,6 -「2022/10/20 10:46:13.8」が「46:13.8」となるならば「2022/10/20 11:46:13.8」も同じ「46:13.8」となるのでしょうか?に付いては、いかがでしょうか? →両方ともセル上では「46:13.8」になります。ただ数式欄を見るとそれぞれ「2022/10/20 10:46:14」と「2022/10/20 11:46:14」と表示されています。 よろしくお願い致します。
jbpb0

2022/11/07 01:26 編集

> →下記に記載させて頂きます。 が、正しいcsvファイルの内容ならばですが、csvファイルの各行は 46:13.8,1987,1,0,0,0,0,29 のようになってて、「10時」とか「11時」とかの情報は書かれてないのですが、その状態で、pythonはどうやって「10時」とか「11時」とか知ることができるのでしょうか? > ただ数式欄を見るとそれぞれ「2022/10/20 10:46:14」と「2022/10/20 11:46:14」と表示されています。 pythonが受け取れる情報は、csvファイル内のデータが全てなので、csvファイル内に「10時」とか「11時」とか書かれてなければ、pythonではそれは分からないと思うのですが (「2022/10/20」のところも)
bsdfan

2022/11/07 01:16

csvをexcelで開いていると思っていたのですが、逆にexcelのファイルをcsvに変換して保存しているということでしょうか? だとすると、csvに保存するときのexcelの書式を正しくしてやらないといけないです。 日付のところを選択して、表示形式をユーザー定義にして yyyy/mm/dd hh:mm:ss.00 とかにしてやってからcsvに保存します。
mizumizumizu

2022/11/07 01:16

jbpbo様 コメントありがとうございます。 > pythonが受け取れる情報は、csvファイル内のデータが全てなので、csvファイル内に「10時」とか「11時」とか書かれてなければ、pythonではそれは分からないと思うのですが コメント頂いた上記の部分がポイントなのかもしれませんね。 今回のデータは間違いなく時系列データを取得していて、Excelで開いたときに数式欄に「年/月/日 時/分/秒」と表示されているので、CSVファイル内のデータも時間情報は持っていると思います(持っていなければ数式欄に何月何日の時間か表示できないと思うので)。 しかしCSVファイルのデータが時間情報を持っていても、その時間情報がpythonで受け取れる形式になっていない?のではと思いました。Excelでは受け取れる形式だが、pythonやメモ帳などでは受け取れない。 メモ帳でも「46:13.8」としか表示されないので。 このあたりを調べてみたいと思います。
mizumizumizu

2022/11/07 01:21

bsdfan様 コメントありがとうございます。 >csvをexcelで開いていると思っていたのですが、逆にexcelのファイルをcsvに変換して保存しているということでしょうか? だとすると、csvに保存するときのexcelの書式を正しくしてやらないといけないです。 日付のところを選択して、表示形式をユーザー定義にしてyyyy/mm/dd hh:mm:ss.00とかにしてやってからcsvに保存します。 →csvをExcelで開いています。元データはcsvファイル形式で保存されるようになっていて 中のデータを確認したい場合や今回のように質問させて頂く場合にExcelで開いて確認しています。 メモ帳でも見れますがExcelの方が見やすいためです。 あくまで確認するだけで、pythonに読み込むのは元データのcsvファイルにしています。
mizumizumizu

2022/11/07 01:39

ちなみにですが 今回の作業を行う前に、今回のCSVファイルを複数個を1つのCSVファイルに結合する処理を行ったのですがこちらは成功しました。 今回のデータと同じ形式の物が何百個もあり、1つのファイルに結合して、BIツールで可視化したかったのでmergeで結合するころはできました。
jbpb0

2022/11/07 01:58 編集

> Excelで開いたときに数式欄に「年/月/日 時/分/秒」と表示されているので、CSVファイル内のデータも時間情報は持っていると思います(持っていなければ数式欄に何月何日の時間か表示できないと思うので)。 回答に書きましたけど、当方でcsvファイルを作ってエクセルで確認しても、「年/月/日 時」の部分は表示されませんでした 繰り返しますが、csvファイル内のデータが全てです 質問者さんがコメントに書いた「csvファイルの内容」のどこにも、「2022年」と「10月」と「20日」と「10時」または「11時」の情報はありませんよね 【追記】 私が回答にアップロードした画像の「数式欄」の「0:46:14」の最初の「0:」を時刻の「時」と解釈したら、 > 「年/月/日 時」の部分は表示されませんでした ではなく、「年/月/日」の部分は表示されませんでした、ですね それでも、質問者さんの環境で表示されてる「10時」や「11時」とは違いますけど
mizumizumizu

2022/11/10 01:29 編集

jbpbo様 回答並びにコメントありがとうございます。 私の方でも確認してみました。 元々Excelで開いていたcsvファイル(上記に記載したファイル)を一回Excelを閉じて、再度開き直したところjbpbo様の仰る通り、「年/月/日 時」の部分は表示されなくなっていました。 上記のファイルは元データをそのまま記載すると余りにも膨大となってしまうためデータを省いたのですが、手を加えた結果、開き直すと年/月/日 時」の部分が消えてしまうようになってしまったかもしれません。 せっかく試して頂いたのに申し訳ございません。 下記のように元データをメモ帳で開いて、そのままコピーして(全行ではなく一部分) メモ帳を開き直してペースト → csvファイルとして保存 →Excelで開いてみると「2022/10/20 10:46:14」のように表示されました。 メモ帳で開いても「10:46:13.8」のように表示されているので時間情報は持っているようです。 上記で書いた内容は私がデータを省いたため時間情報が失われてしまったようです。 申し訳ありませんでした。 [LOGGING],RD81DL96_1,2,3,4 DATETIME[YYYY/MM/DD hh:mm:ss.s],INDEX,BIT[1;0],BIT[1;0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],SHORT[DEC.0],TRIGGER[*;-] TIME 2022/10/20 10:46:13.8,1987,1,0,0,0,0,29,13,22,12,0,0,0,0,0,0,0,0,0,7,4,2,1,4,4,2,77,5,1,12,4,42,4,0,0,3,5,11,6,6,1,8,89,3,5,7,11,34,8,0,0,253,305,340,378,380,384,427,309,298,301,291,295,283,292,293,298,407,574,418,294,203,122,161,0,0,0,0,0,0,0,0,0,236,453,3,332,246,613,772,854,817,922,945,853,957,685,344,253,18,239,468,468,490,467,46,644,0,0,0,0,0,0,0,0,103,29,113,50,88,157,108,103,63,69,96,88,68,72,104,104,92,50,85,80,55,96,48,0,0,0,0,0,0,0,0,0,63,97,196,78,112,55,74,123,128,90,96,78,222,185,76,54,90,39,51,36,57,52,49,39,192,116,18,24,62,8,25,73,76,131,89,122,116,118,28,9,12,77,58,50,4,124,79,129, 2022/10/20 10:46:13.9,1988,1,0,0,0,0,7,13,22,12,0,0,0,0,0,0,0,0,0,6,5,1,1,3,3,1,408,4,3,12,4,43,3,0,0,3,5,11,8,6,2,7,46,1,4,5,11,34,7,0,0,255,307,341,376,378,384,443,310,310,294,299,294,279,283,289,285,414,553,558,300,235,101,134,0,0,0,0,0,0,0,0,0,272,467,21,332,319,536,755,845,788,804,868,900,908,760,333,257,6,240,426,429,500,467,47,666,0,0,0,0,0,0,0,0,106,38,114,52,91,152,113,111,64,56,108,82,30,87,94,74,57,61,97,75,61,85,58,0,0,0,0,0,0,0,0,0,72,62,212,90,81,47,69,100,88,97,89,75,188,155,51,20,98,52,56,33,44,53,52,55,198,119,96,26,59,16,26,19,123,143,110,114,109,149,90,9,10,70,56,0,165,111,109,133, 2022/10/20 10:46:14.0,1989,1,0,0,0,0,3,12,22,13,0,0,0,0,0,0,0,0,0,6,5,1,2,2,4,1,5,4,1,11,4,43,3,0,0,2,4,12,7,7,2,7,0,2,4,5,11,33,6,0,0,253,305,338,372,376,384,440,339,313,305,299,291,281,300,287,281,363,465,615,337,306,137,133,0,0,0,0,0,0,0,0,0,289,398,44,344,310,398,745,835,768,853,916,879,900,802,348,256,8,208,409,448,496,465,42,585,0,0,0,0,0,0,0,0,89,50,127,35,118,177,138,101,73,71,108,85,62,47,80,127,55,56,95,153,61,198,43,0,0,0,0,0,0,0,0,0,34,82,160,99,40,55,60,80,60,118,104,82,119,128,42,102,78,47,67,32,31,45,45,49,189,124,101,23,60,17,23,12,157,124,104,123,119,140,132,1,9,71,57,9,209,131,91,128, 2022/10/20 10:46:14.1,1990,1,0,0,0,0,4,12,22,12,0,0,0,0,0,0,0,0,0,6,6,1,1,3,4,1,7,4,1,13,4,43,3,0,0,1,5,11,7,7,1,7,3,1,4,5,11,35,7,0,0,253,304,335,367,374,384,437,372,313,306,307,298,283,304,281,279,319,370,616,426,363,246,93,0,0,0,0,0,0,0,0,0,281,438,31,341,322,262,615,824,737,840,918,925,908,816,369,253,94,127,399,408,536,486,48,452,0,0,0,0,0,0,0,0,98,51,110,58,104,162,114,89,74,80,94,82,36,77,87,119,1,66,77,90,56,130,66,0,0,0,0,0,0,0,0,0,49,94,220,111,63,40,134,101,73,78,129,68,115,131,49,88,99,45,59,34,40,50,59,43,192,128,88,98,53,17,22,69,89,129,122,115,119,133,123,42,11,63,60,71,230,99,114,136, 2022/10/20 10:46:14.2,1991,1,0,0,0,0,1,13,22,11,0,0,0,0,0,0,0,0,0,7,5,2,1,3,3,1,7,596,2,10,3,42,2,0,0,3,6,13,7,8,2,8,4,130,4,6,11,32,8,0,0,252,304,334,366,372,383,432,375,333,312,302,289,290,311,286,280,301,358,519,434,298,346,152,0,0,0,0,0,0,0,0,0,277,431,44,368,314,243,481,817,711,877,965,913,905,827,424,282,90,120,375,399,518,524,55,426,0,0,0,0,0,0,0,0,98,34,105,50,80,163,104,110,76,78,76,82,59,65,76,106,39,55,81,121,55,84,51,0,0,0,0,0,0,0,0,0,80,74,212,82,83,60,90,33,92,88,135,59,85,113,42,100,92,58,65,36,47,46,56,40,209,125,101,116,51,20,23,26,58,93,129,127,118,138,124,113,12,59,58,79,120,84,103,137,
mizumizumizu

2022/11/07 02:27

can110様 jbpbo様 コメントありがとうございます。 >CSVを出力しているソフト・ハードは何でしょうか?(たとえば以下など?) https://www.mitsubishielectric.co.jp/fa/products/cnt/plc/index.html >CSVを開いているときExcel上でそのCSV専用のアドオンなど動作していないでしょうか?(例えば以下など?) https://www.mitsubishielectric.co.jp/fa/products/cnt/plceng/smerit/mx_sheet/index.html >csvファイルに > [LOGGING],RD81DL96_1,2,3,4,,, と書かれてるので、 https://www.mitsubishielectric.co.jp/fa/products/faspec/point.do?kisyu=/plcr&formNm=750059153 ですかね →すみません。三菱の製品使っているとは思うのですが私の方で電気機器の知識が無いので担当者に確認してみます。おそらくjbpbo様の仰っているRD81DL96かと思いますが。
jbpb0

2022/11/07 02:37 編集

> メモ帳で開いても「10:46:13.8」のように表示されているので時間情報は持っているようです。 それならうまくいきますよね 各行の先頭に 2022/10/20 10:46:13.8,... と書かれてるのだから 質問のデータも編集して、正しいものに直してください csvファイルを作り直して、エクセルで読み込んだら、「数式欄」に「2022/10/20 10:46:14」みたいに表示されました A列の各セルに表示されてる「46:13.8」とかは、エクセルが勝手に変えて表示してるもので、csvファイルの内容とは違うものなので、それに騙されないでください
jbpb0

2022/11/07 02:43

can110さんが質問した、ロガーの機種とか、「そのCSV専用のアドオン」があるかとかは、たぶん関係無いです csvファイルには無い(とさっきまで思われてた)情報をエクセルが他から引用してるのではないか? ということからの質問だと思うのですが、本当はcsvファイル内に「年/月/日 時/分/秒」のデータが全部あることが分かったので
mizumizumizu

2022/11/07 02:59

jbpbo様 コメントありがとうございます。 質問内容のデータ修正させて頂きました。 ロガーの件もありがとうございます。
guest

回答2

0

ベストアンサー

とりあえず、csvの日付フォーマットの問題は解決したという前提で。

python

1df = pd.read_csv("test.csv", encoding="cp932", sep=',', index_col=0, parse_dates=True, skiprows=2)

index_col=0 を指定しているので、先頭列(TIME)はインデックスになっています。
なので、df['TIME'] としたときに KeyError が発生します。
また、parse_dates=True を指定しているので、先頭列はTimestampとして解釈されているはずなので、追加の pd.to_datetime() をする必要がありません。

なので、read_csv() に続けて、直接 resample() すればいいでしょう。

python

1# df['datetime'] = pd.to_datetime(df['TIME']) # 不要 2# df.set_index('datetime',inplace=True) # 不要 3df_resample = df.resample('S').mean() # 平均なら、sum ではなく mean 4df_resample.to_csv('output.csv')

投稿2022/11/07 13:40

bsdfan

総合スコア4567

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mizumizumizu

2022/11/08 06:50

bsdfan様 ご回答頂きありがとうございました。 無事にやりたいことを実行することができました。 TIME列をindexに変換 → datetime型に変換の部分がcsvデータがおかしくなっていたことや処理が重複していたことでエラーが出ていましたが助かりました。 ありがとうございました。
guest

0

回答ではありませんが、「質問へのコメント」だと画像をアップロードできないので、こちらに書きます

 

ただ数式欄を見るとそれぞれ「2022/10/20 10:46:14」と「2022/10/20 11:46:14」と表示されています。

質問者さんのコメントの「csvファイルの内容」をコピペしてcsvファイルを作って、当方のwin 10パソコンのエクセルで読み込みましたが、そうはなりませんでした

下記画像は、csvファイルをダブルクリックして(csvファイルに関連付けられてる)エクセルが起動した状態です
エクセル上での操作は、「A4」セルをクリックしただけです
「数式欄」とは、下記画像の赤線で囲ったところですよね?
イメージ説明

投稿2022/11/07 01:45

jbpb0

総合スコア7651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mizumizumizu

2022/11/08 06:51

jbpb0様 いろいろとアドバイスありがとうございました。 csvデータがおかしくなっていたことに気づかせて頂いたおかげで無事にやりたいことが実行できました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問