2017-07-19 45 views
1

我是一位自學的編碼員(大約一年,很新)。這裏是我的數據使用df ['Time'] = pd.to_datetime(phData ['Time'],format ='%H:%M:%S')之後,將1900-01-01的日期添加到我的'時間'中

phData = pd.read_excel('phone call log & duration.xlsx') 
called from called to Date Time Duration in (sec) 
0 7722078014 7722012013 2017-07-01 10:00:00 303 
1 7722078014 7722052018 2017-07-01 10:21:00 502 
2 7722078014 7450120521 2017-07-01 10:23:00 56 

The dtypes are: 
called from     int64 
called to      int64 
Date     datetime64[ns] 
Time       object 
Duration in (sec)    int64 
dtype: object 

phData['Time'] = pd.to_datetime(phData['Time'], format='%H:%M:%S') 


phData.head(2) 

called from called to Date Time Duration in (sec) 
0 7722078014 7722012013 2017-07-01 1900-01-01 10:00:00 303 
1 7722078014 7722052018 2017-07-01 1900-01-01 10:21:00 502 

我已經設法改變'時間'datetime64 [ns]但不知何故日期已被添加?從哪裏我不知道?我希望能夠使用我很樂意做的Pandas分析DateTime。探索在日期和時間,頻率等之間進行的通話。我想我也可以保存它,以便在Orange3中工作。但是Orange3不會將時間視爲時間格式。我試圖剝離1900-01-01,但得到一個錯誤,說它只能做一個對象。我認爲時間不是datetime而是datetime.time ???我不知道爲什麼這很重要,以及如何簡單地使用一個和另一個Time,熊貓將認識我。我查看了無數帖子,這就是我發現如何使用pd.to_datetime的地方,我的問題可能是datetime.time,但是在此之後我就被卡住了。

回答

0

熊貓沒有像Time這樣的dtype。您可以有datetimetimedelta dtype。

選項1:結合日期和時間爲單柱:

In [23]: df['TimeStamp'] = pd.to_datetime(df.pop('Date') + ' ' + df.pop('Time')) 

In [24]: df 
Out[24]: 
    called from called to Duration in (sec)   TimeStamp 
0 7722078014 7722012013    303 2017-07-01 10:00:00 
1 7722078014 7722052018    502 2017-07-01 10:21:00 
2 7722078014 7450120521     56 2017-07-01 10:23:00 

選項2:轉換DatedatetimeTimetimedelta D型:

In [27]: df.Date = pd.to_datetime(df.Date) 

In [28]: df.Time = pd.to_timedelta(df.Time) 

In [29]: df 
Out[29]: 
    called from called to  Date  Time Duration in (sec) 
0 7722078014 7722012013 2017-07-01 10:00:00    303 
1 7722078014 7722052018 2017-07-01 10:21:00    502 
2 7722078014 7450120521 2017-07-01 10:23:00     56 

In [30]: df.dtypes 
Out[30]: 
called from     int64 
called to      int64 
Date     datetime64[ns] 
Time     timedelta64[ns] 
Duration in (sec)    int64 
dtype: object 
+0

@Analyst,你是歡迎!請考慮[接受](http://meta.stackexchange.com/a/5235)/提供一個答案,如果它有幫助 - 它也表明你的問題已被回答 – MaxU

相關問題