2017-08-02 6 views
2

私はマイクロ秒フォーマットの日時を読もうとしています。タイムスタンプを読むpython pandas

1500909283.955000 

予想される出力は

July 24, 2017 3:14:43.955 PM 

のようなものでなければなりません。しかし、私はパンダを使用するとき、私は

1970-01-01 00:00:01.500909283 

を得たto_datetime機能ノー成功してすべての可能なフォーマットを試してみました。

あなたはto_datetimeためunit='s'のparam必要がある任意のヒント

答えて

3

In[5]: 
pd.to_datetime(1500909283.955000, unit='ns') 

Out[5]: Timestamp('1970-01-01 00:00:01.500909283') 

た:エポック

がデフォルトunit値はナノ秒であるため、タイムスタンプは秒です

In[4]: 
pd.to_datetime(1500909283.955000, unit='s') 

Out[4]: Timestamp('2017-07-24 15:14:43.955000') 

をあなたは何ですか?パラメータunit

+0

ありがとう返信 – Sharek

2

必要性to_datetimeを観察し、データがないmilisecond秒で、secondsにあります。

df = pd.DataFrame({'col':['1500909283.955000','1500909283.955000']}) 
df['col'] = pd.to_datetime(df['col'], unit='s') 
print (df) 
         col 
0 2017-07-24 15:14:43.955 
1 2017-07-24 15:14:43.955 

millisecondsについて:

df['col'] = pd.to_datetime(df['col'], unit='ms') 
print (df) 
         col 
0 1970-01-18 08:55:09.283955 
1 1970-01-18 08:55:09.283955 

別のフォーマットを使用Series.dt.strftime必要がある場合:

df['col1'] = df['col'].dt.strftime('%b %d, %Y %I:%M:%S.%f %p') 
print (df) 
         col        col1 
0 2017-07-24 15:14:43.955 Jul 24, 2017 03:14:43.955000 PM 
1 2017-07-24 15:14:43.955 Jul 24, 2017 03:14:43.955000 PM 
+2

マイクロ秒は '' us ''' ms''ではなく、 '' ms''はミリ秒です – EdChum

+0

返信ありがとうございます – Sharek

+0

@EdChum - ありがとう – jezrael

関連する問題