Python将时间戳列表转换为日期时间

时间:2019-05-23 15:01:00

标签: python pandas datetime

我有一个像这样的时间戳列表:

[Timestamp('1951-05-01 00:00:00', freq='D'), Timestamp('1951-05-02 00:00:00', freq='D'), Timestamp('1951-05-03 00:00:00', freq='D'),...]

我需要将其转换为日期时间以适合此格式:

DatetimeIndex(['2007-05-01', '2007-05-02', '2007-05-03', '2007-05-04',
               '2007-05-05', '2007-05-06', '2007-05-07', '2007-05-08',
               '2007-05-09', '2007-05-10',
               ...
               '2007-09-21', '2007-09-22', '2007-09-23', '2007-09-24',
               '2007-09-25', '2007-09-26', '2007-09-27', '2007-09-28',
               '2007-09-29', '2007-09-30'],
              dtype='datetime64[ns]', length=153, freq='D')

有没有办法做到这一点?


背景:

我一直在寻找解决方案:Python pandas dataframe sort by specific datetime

我的替代主意是每年制作一个口罩,其中包含我需要的天数范围。这是代码:

liste = []

for i in range (1,zeitspanne + 1):
#----------------------------------------------------------   
# Bestimme aus Basis des ersten und letzten Jahres im Datensatz das exakte Start und Endatum des Datensatzes
    startdatum = (str(auskunft_ende_daten - zeitspanne2)) + '-11-01'
    enddatum = (str(auskunft_ende_daten - zeitspanne2 + 1)) + '-02-28'
# Bilde eine Range zwischen dem ersten und letzten Datum, die alle Tage beinhaltet, die seitdem vergangen sind 
    mask2 = pd.date_range(startdatum, end=enddatum, freq='1D')
    zeitspanne2 -= 1
    liste.append(mask2)

因此,我得到了2005、2006、2007等的DatetimeIndex,范围是从05-01到09-30。然后,将它们添加到包含所有蒙版的列表中。但是问题在于,一年中的任何掩码都是列表中的子数组。所以我用了..

liste = [item for sub_list in liste for item in sub_list]

..将所有子数组放入一个大数组中,但是datetime格式丢失,我最终得到:

[Timestamp('1951-05-01 00:00:00', freq='D'), Timestamp('1951-05-02 00:00:00', freq='D'), Timestamp('1951-05-03 00:00:00', freq='D'),...]

有什么主意吗?

0 个答案:

没有答案
相关问题