環境:Python 2.7.10, pandas:0.18.1
###前提・実現したいこと
次のcsvファイルの各行にタイムスタンプを振りたいと考えています.
1行目はデータ計測を開始した時点のタイムスタンプ,
2行目は取得周期,
3行目以降はセンサデータ値となっています.
data.csv
1483805506 64 0.01 -0.03 -0.05 -0.05 0.13 0.36 0.66 ・・・
こちらのデータから,
タイムスタンプが1列目,センサデータが2列目になるような形で出力結果を得たいと考えています.
###試したこと
これまではタイムスタンプを格納するSeriesを一度作成して読み込んだデータと結合していました.
しかし,データ量が多く処理時間が長過ぎるため,for文を使用しないような方法を取りたいと思っています.
例えば,他の回答者様が提示されている(https://teratail.com/questions/27787)ような方法で,
処理できれば時間短縮になるかと考えているのですが,
行ごとに値を更新するために,行番号を用いて値を計算するといったことは可能なのでしょうか?
ご教授のほどよろしくお願いします.
こちらはこれまで試したソースコードになります.
python
1inputdata = pd.read_csv( data.csv ) 2 3tmp_time = inputdata.ix[0, 0] 4delta_time = 1 / tmp_time.ix[1, 0] 5 6for num in xrange( inputdata.shape[0] ): 7 tmp_time = tmp_time + delta_time 8 9 sr1 = pd.Series( [tmp_time], name='time' ) 10 sr2 = pd.Series( inputdata.ix[num], index=['data'] ) 11 sr2 = sr2.append(sr1) 12 13 outputdata = outputdata.append( sr2, ignore_index=True )
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/16 02:38