Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pandas:使用Unix历元时间戳作为日期时间索引_Python_Numpy_Pandas_Time Series - Fatal编程技术网

Python Pandas:使用Unix历元时间戳作为日期时间索引

Python Pandas:使用Unix历元时间戳作为日期时间索引,python,numpy,pandas,time-series,Python,Numpy,Pandas,Time Series,我的应用程序涉及处理以下形式的数据(包含在CSV中): Epoch (number of seconds since Jan 1, 1970), Value 1368431149,20.3 1368431150,21.4 .. 目前,我使用numpy loadtxt方法读取CSV(可以很容易地使用从Pandas读取的CSV)。目前,对于我的系列,我将时间戳字段转换如下: timestamp_date=[datetime.datetime.fromtimestamp(timestamp_colu

我的应用程序涉及处理以下形式的数据(包含在CSV中):

Epoch (number of seconds since Jan 1, 1970), Value
1368431149,20.3
1368431150,21.4
..
目前,我使用numpy loadtxt方法读取CSV(可以很容易地使用从Pandas读取的CSV)。目前,对于我的系列,我将时间戳字段转换如下:

timestamp_date=[datetime.datetime.fromtimestamp(timestamp_column[i]) for i in range(len(timestamp_column))]
接下来,我将timestamp_date设置为数据帧的日期时间索引。我试着在几个地方搜索,看看是否有一种更快(内置)的方式来使用这些Unix时代时间戳,但没有找到。许多应用程序都使用这种时间戳术语

  • 是否有处理此类时间戳格式的内置方法
  • 如果没有,建议如何处理这些格式

  • 将它们转换为
    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])
    

    您还可以使用pandas来_datetime

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

    此方法需要Pandas 0.18或更高版本。

    您也可以像这样使用Pandas DatetimeIndex

    pd.DatetimeIndex(df['timestamp']*10**9)
    
    *10**9
    将其转换为预期的时间戳格式


    这很好,因为它允许您在该系列中使用诸如
    .date()
    .tz\u localize()
    之类的函数。

    哇!不知道会这么容易!最好的部分是它保留了矢量化操作的感觉。