2017-05-25 55 views
2

我正在使用下面的代碼將str('1495596971')轉換爲'%Y-%m-%d%H:%M:%S'但無法爲整列。你能幫我解決嗎?python中的標準日期和時間框架

ho['tweet'] = ho['tweet'].astype(str) 
c=ho['tweet'] 
stddate=c.split('.')[0].split('0')[1] 


t=print(
    datetime.datetime.fromtimestamp(
     int(stddate) 
    ).strftime('%Y-%m-%d %H:%M:%S') 
) 

其顯示的錯誤: - '系列' 對象有沒有屬性 '分裂'

輸入: -

   tweet 
0  1495596971.6034188::automotive auto ebc greens... 
1  1495596972.330948::new free stock photo of cit... 
2  1495596972.775966::ebay: 1974 volkswagen beetl... 
3  1495596975.6460807::cars fly off a hidden spee... 
4  1495596978.12868::rt @jiikae: guys i think mar... 

我只是想 '1495596971', '1495596972' 等這個數據來自列,並希望將其轉換爲標準的日期和時間格式。

回答

2

熊貓系列有沒有一種方法split,你所能做的就是每一個項目,然後用'.'分裂,然後取海峽('1495596971'),轉換和格式化:

import pandas as pd 
import datetime 
c = pd.Series(['1495596971.6034188::automotive auto ebc greens','1495596972.330948::new free stock photo of cit','1495596972.775966::ebay: 1974 volkswagen beetl']) 
stddate_list = [c[i].split('.')[0] for i in range(len(c))] 
print(stddate_list) 
t = [datetime.datetime.fromtimestamp(int(stddate)).strftime('%Y-%m-%d %H:%M:%S') for stddate in stddate_list] 
print(t) 

輸出爲stddate_listt

['1495596971', '1495596972', '1495596972'] 
['2017-05-24 11:36:11', '2017-05-24 11:36:12', '2017-05-24 11:36:12'] 
+0

嘿,你知道如何獲得所有行的stddate,而不是通過使用c [0]來獲取特定的行。 – Vic13

+0

謝謝@ Tiny.D。它正在工作。 – Vic13

+0

@ Vic13酷,很高興它有助於:) –

0

您可以使用Series對象上應用的選擇作用於各記錄在意甲作爲列

ho['tweet'] = ho['tweet'].astype(str) 
c=ho['tweet'] 
stddate=c.apply(lambda x:x.split('.')[0]) 
+0

AttributeError:'str'對象沒有屬性'plit' 我得到這個錯誤。 – Vic13

+0

拼寫錯誤...其拆分 – Eliethesaiyan

+0

其實,我想在分離後將'1495596971'轉換爲標準日期和時間格式。 – Vic13