Pandas: Usando la marca de tiempo de la época de Unix como índice de fecha y hora

Mi aplicación implica tratar con datos (contenidos en un CSV) que tiene la siguiente forma:

Epoch (number of seconds since Jan 1, 1970), Value 1368431149,20.3 1368431150,21.4 .. 

Actualmente leo el CSV usando el método numpy loadtxt (puedo usar fácilmente read_csv desde Pandas). Actualmente, para mi serie, estoy convirtiendo el campo de marcas de tiempo de la siguiente manera:

 timestamp_date=[datetime.datetime.fromtimestamp(timestamp_column[i]) for i in range(len(timestamp_column))] 

Sigo esto configurando timestamp_date como el índice de fecha y hora para mi DataFrame. Intenté buscar en varios lugares para ver si hay una forma más rápida (incorporada) de usar estas marcas de tiempo de época de Unix, pero no pude encontrar ninguna. Muchas aplicaciones hacen uso de dicha terminología de marca de tiempo.

  1. ¿Existe un método incorporado para manejar dichos formatos de marca de tiempo?
  2. Si no es así, ¿cuál es la forma recomendada de manejar estos formatos?

Convertirlos a datetime64[s] :

 np.array([1368431149, 1368431150]).astype('datetime64[s]') # array([2013-05-13 07:45:49, 2013-05-13 07:45:50], dtype=datetime64[s]) 

También puedes usar pandas to_datetime :

 df['datetime'] = pd.to_datetime(df["timestamp"], unit='s') 

Este método requiere Pandas 0.18 o posterior.

También puedes usar Pandas DatetimeIndex como tal

 pd.DatetimeIndex(df['timestamp']*10**9) 

el *10**9 coloca en el formato que espera para dichas marcas de tiempo.

Esto es bueno ya que le permite usar funciones como .date() o .tz_localize() en la serie.