Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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 熊猫:将时间戳索引快速转换为ISO周_Python_Pandas_Numpy_Datetime - Fatal编程技术网

Python 熊猫:将时间戳索引快速转换为ISO周

Python 熊猫:将时间戳索引快速转换为ISO周,python,pandas,numpy,datetime,Python,Pandas,Numpy,Datetime,我有一个函数,它返回熊猫系列实例的索引值,该实例由一个pd.Timestamp值数组组成,作为ISO周值 import numpy as np import pandas as pd timestamps = [pd.Timestamp('2014-01-01'), pd.Timestamp('2014-02-01'), pd.Timestamp('2014-02-01')] quantities = [1.0, 1.0, 1.0] series = pd.Series(quantities,

我有一个函数,它返回熊猫系列实例的索引值,该实例由一个pd.Timestamp值数组组成,作为ISO周值

import numpy as np
import pandas as pd

timestamps = [pd.Timestamp('2014-01-01'), pd.Timestamp('2014-02-01'), pd.Timestamp('2014-02-01')]
quantities = [1.0, 1.0, 1.0]
series = pd.Series(quantities, index=timestamps)

def timestamps_iso() -> np.array:
    timestamps_iso = []
    for timestamp in series.index:
        timestamp_iso = timestamp.isocalendar()[1]
        if timestamp_iso == 53: # fix ISO week number 53.
            timestamp_iso = np.random.choice([52, 1])
        timestamps_iso.append(timestamp_iso)
    return np.array(timestamps_iso)
请问,这件事能做得更快些吗,或者做得更像熊猫?当索引很大时,运行它需要很多时间


谢谢您的帮助。

您的问题显示月值,但代码显示周值。我想你是在寻找周值。您可以通过以下方式访问日期时间序列上的周数:周:


谢谢-这正是我需要的。快多了。
In [1]: timestamps = [pd.Timestamp('2014-01-01'), pd.Timestamp('2014-02-01'), pd.Timestamp('2014-02-01')] 
   ...: quantities = [1.0, 1.0, 1.0] 
   ...: series = pd.Series(quantities, index=timestamps)                                                                                                                                                                                             

In [2]: series.index.week                                                                                                                                                                                                                            
Out[2]: Int64Index([1, 5, 5], dtype='int64')