2016-12-12 6 views
2

私はどのくらいの時間が、他のアクションにかかりましたが起こる見ることができるように、この二つの時間列の間の減算を行うには時間しようとしている:timedelta(python)で2つの時間列を引く方法は?

In[1]:aumento_data_separada 
Out[1]: Response_Time  Request_Time(when the client do a request) 
0 00:56:58.612000 00:46:34.347000 
1 12:00:41.069000 12:00:32.603000 
2 18:05:02.776000 16:39:42.682000 
3 19:27:11.997000 17:33:05.589000 
... 

このデータフレームは、これらの上記のような、より392560行があります。私はそれらのすべてで操作をしたいと思います。その結果を新しい列に作成します。 私はtimedeltaからドキュメントを読んでみましたが、私はそれを全く理解しませんでした。 私はこのタイプを見るために - >type(aumento_data_separada['Response_Time'].iloc[0])type(aumento_data_separada['Request_Time'].iloc[0])を返しました。返されたのはdatetime.timeです。私はそのタイプのために彼らの中で操作を行うことができないことを知りました。だから私はそれらを別々に変換しようとしました:pd.to_datetime(aumento_data_separada['Request_Time'])しかしそれは私に次のエラー - >object of type 'datetime.time' has no len()を返します。 >aumento_data_separada.Response_Time - aumento_data_separada.Request_Time - - がunsupported operand type(s) for -: 'datetime.time' and 'datetime.time'

+2

あなたの試行を表示できますか? – ghoti

+0

私は本当に間違っていると確信していることを試みました。 'DIF = aumento_data_separada [ 'RESPONSE_TIME'] - datetime.timedelta(1) デルタ= DIF - aumento_data_separada [ 'REQUEST_TIME'] = datetime.timedelta(aumento_data_separada [ 'response_at']) ' –

+1

サブリナ、あなたの質問すべきあなたのコードの試行を含めることで、それに答えようとしている人が何かを修正できるようにします。現時点では、あなたの質問はコミュニティからの無料のコンサルティングサービスを受ける試みのように見えます。 [あなたの質問を編集](http://stackoverflow.com/posts/41107479/edit)、あなたの仕事を[MCVE](http://stackoverflow.com/help/mcve)で見せてください。あなたが得た結果を期待して、あなたが間違っている場所を見つけ出すのを助けます。 – ghoti

答えて

1

を返す。これはpiRSquaredの回答に似ていますが、一部のpd.to_timedelta

df = df.apply(pd.to_timedelta) 

df.Response_Time - df.Request_Time 

0 00:10:24.265000 
1 00:00:08.466000 
2 01:25:20.094000 
3 01:54:06.408000 
dtype: timedelta64[ns] 
+0

私はそれを試しましたが、それは私に次のエラーを与えました: '(" timedeltaスカラーのタイプが無効です:<タイプ 'datetime.time'> "、インデックスのレスポンス時間にu'occurred) ' –

1

pd.Timedeltaに列を変換するここで

は、第一のエラーメッセージと、私が試したコードがあります私が2つのメソッドを並べてテストすると、これがより速い理由があります。それがなぜであるかわからない。

df['Time_Diff'] = pd.to_datetime(df.Response_Time) - pd.to_datetime(df.Request_Time) 
+0

私はこのエラーを持っています - >' 'datetime.time '型のオブジェクトにはlen()がありません ' –

関連する問題