2017-07-28 66 views
1

我在納秒格式的日期時間在大熊貓數據幀(滿):裝飾納秒在Python納秒的100的(大熊貓)

2017-06-30 08:53:58.940891100 

2017-06-30 08:53:58.940891200 

獲得:

2017-06-30 08:53:58.9408911 

2017-06-30 08:53:58.9408912 

我要修剪的最後兩位數字,以便我可以保留日期時間以便在.NET日期時間對象中使用:

此刻我試過這個:

full['datetime'].dt.strftime('%Y-%m-%d %H:%M:%S.%f0') 

但這只是一個額外的零微秒,我需要百分之一納秒的精度。

任何想法?

+0

所期望的輸出? – jezrael

+0

不確定是否可能。您可以在日期時間內使用'ns'精度或'useconds'精度。 dt.strftime('%Y-%m-%d%H:%M:%S.%f0')'返回字符串,而不是日期時間。 – jezrael

回答

2

如果要修剪us使用floor和刪除最後一個2零,並轉換爲strings使用astypestr[:-2]

full['datetime2'] = full['datetime'].dt.floor('U') 
full['datetime3'] = full['datetime'].astype(str).str[:-2] 
print (full) 
         datetime     datetime2 \ 
0 2017-06-30 08:53:58.940891100 2017-06-30 08:53:58.940891 
1 2017-06-30 08:53:58.940891200 2017-06-30 08:53:58.940891 

        datetime3 
0 2017-06-30 08:53:58.9408911 
1 2017-06-30 08:53:58.9408912 

print (type(full.loc[0, 'datetime2'])) 
<class 'pandas._libs.tslib.Timestamp'> 

print (type(full.loc[0, 'datetime3'])) 
<class 'str'> 
+0

多數民衆贊成真棒謝謝 – azuric