2016-11-02 29 views
0

Octaveを使用する私は以下のようにデータフレームを作成しました。私はエポックからの秒-に列X1を変換するために探していますOctave datetime文字列のデータフレーム列を秒に変換します

>> df=dataframe("example.csv") 
df = dataframe with 10 rows and 3 columns 
Src: example.csv 
_1       X1  X2  X3 
Nr      char double double 
1 2016-11-01 11:35:33.285127 1000 1205531 
2 2016-11-01 11:35:54.666606 2000 1205531 
3 2016-11-01 11:37:17.775407 3000 1205531 
4 2016-11-01 11:37:47.436518 4000 1205531 
5 2016-11-01 11:38:16.246998 5000 1205531 
6 2016-11-01 11:38:38.371844 6000 1205531 
7 2016-11-01 11:38:59.806459 7000 1205531 
8 2016-11-01 11:39:20.543602 8000 1205531 
9 2016-11-01 11:39:47.920399 9000 1205531 
10 2016-11-01 11:41:24.370811 10000 1205531 

私ができる

(「時間の始まり」以来、または時間の同様のシーケンシャル測定、総秒もいいと思い)これを単一の要素で処理するようにしてください(私はansが正しいと仮定しています)。

>> mktime(strptime(df.array(1,1),"%Y-%m-%e %T")) 
ans = 1.4780e+09 

しかし、私は列全体を変換しようとしていません。私は様々な順列を試してきました。

>> mktime(strptime(df(:,1),"%Y-%m-%e %T")) 
error: wrong type argument 'class' 
error: strptime: argument STR must be a string 


>> mktime(strptime(df(:,1).array(1,1),"%Y-%m-%e %T")) 
error: Invalid call to numel. Correct usage is:-- Overloaded Function: numel (A) 
error: called from 
    numel at line 33 column 7 


>> mktime(strptime(df(:,1).array(),"%Y-%m-%e %T")) 
error: Invalid call to numel. Correct usage is:-- Overloaded Function: numel (A) 
error: called from 
    numel at line 33 column 7 


>> mktime(strptime(df.array(:,1),"%Y-%m-%e %T")) 
ans = 1.4780e+09 

私は次のような割り当てを行うことができる式を探しています。

df(:,1)=expression() 
+0

は、あなたがデータフレームオブジェクトを作成し、いくつかの値を満たす完全な例を作成してくださいことはできますか? – Andy

+0

こんにちはAndy、私は明確にするために質問を更新し、具体的なデータを例として追加しました。 - これまでのところ、私はstrptimeが単にこのように動作しないことを発見したと思うし、カラム要素を反復するためにfoor-loopを使用する必要があります。 –

答えて

1

私が使用します。

format long #to see the differences  
x = cellfun (@(x) mktime (strptime(x, "%Y-%m-%e %T")), 
      cellstr (df.array(:,1))) 
x = 

    1477996533 
    1477996554 
    1477996637 
    1477996667 
    1477996696 
    1477996718 
    1477996739 
    1477996760 
    1477996787 
    1477996884 
+0

こんにちはAndy、これはすばらしく見えますが、データフレームの最初の列をこれらの値に設定することや、元のデータフレームの最初と最後の2:終わりとしてこれを使って新しいデータフレームを構築するのにはまだ問題があります。挫折! Iveはdf(:、1)= new_col(TYPEエラー)データフレーム(new_col、df(:、2:end))を使用しようとしました。 - cat(1、new_col、df(:、2:end))(異なるnum colsエラー); cat(2、new_col、df(:、2:end))(範囲外のエラー)... –

関連する問題