Python 能否将一列时间戳提取到时间戳列表中

Python 能否将一列时间戳提取到时间戳列表中,python,pandas,datetime,Python,Pandas,Datetime,我有一个带有unix时间的pandas数据帧,它被转换为时间戳(一切正常)。然后,我想提取timestamp列(作为列表),并保留信息。但由于某些原因,在我执行此操作时,会将其转换回unix时间(带有更多尾随零…): 有什么想法吗?您可以与unit='ms'一起使用,以提高性能,并与tolist()一起使用日期时间列表: 您可以与unit='ms'一起使用,以提高性能,并与tolist()一起使用日期时间列表: 您是否需要t=df['timestamp'].tolist()?问题是如果使用.va

我有一个带有unix时间的pandas数据帧,它被转换为时间戳(一切正常)。然后,我想提取timestamp列(作为列表),并保留信息。但由于某些原因,在我执行此操作时,会将其转换回unix时间(带有更多尾随零…):

有什么想法吗?

您可以与
unit='ms'
一起使用,以提高性能,并与
tolist()一起使用日期时间列表:

您可以与
unit='ms'
一起使用,以提高性能,并与
tolist()一起使用日期时间列表:


您是否需要
t=df['timestamp'].tolist()
?问题是如果使用
.values
它将转换为日期时间的本机格式,因此它是纳秒级的format@jezrael不,我不需要那条线,只是我需要转换它。我认为这一行是问题所在,但我不确定如何才能实现这一点。因此,您需要
df['timestamp']=pd.to_datetime(df['servertime'],unit='ms')
?@jezrael谢谢您的帮助,它也可以工作。但这不是问题所在-我现在想将该列提取到datetime.datetime()值的列表中。是否需要
t=df['timestamp'].tolist()
?问题是,如果使用
。值
它将转换为datetime的本机格式,因此它是纳秒级的unixformat@jezrael不,我不需要那条线,只是我需要转换它。我认为这一行是问题所在,但我不确定如何才能实现这一点。因此,您需要
df['timestamp']=pd.to_datetime(df['servertime'],unit='ms')
?@jezrael谢谢您的帮助,它也可以工作。但这不是问题所在-我现在想将该列提取到datetime.datetime()值的列表中。
import pandas as pd

data = {'servertime':[1576887840000,1576887900000,1576887960000], 'val':[1,2,3]}

df = pd.DataFrame(data)

df['timestamp'] = df['servertime'].apply(lambda x: datetime.fromtimestamp(x/1000))

t = df['timestamp'].values.tolist()
t
Out[1]: [1576887840000000000, 1576887900000000000, 1576887960000000000]
df['timestamp'] = pd.to_datetime(df['servertime'], unit='ms')
print (df)
      servertime  val           timestamp
0  1576887840000    1 2019-12-21 00:24:00
1  1576887900000    2 2019-12-21 00:25:00
2  1576887960000    3 2019-12-21 00:26:00

t = df['timestamp'].dt.to_pydatetime().tolist()
print (t)
[datetime.datetime(2019, 12, 21, 0, 24), 
 datetime.datetime(2019, 12, 21, 0, 25), 
 datetime.datetime(2019, 12, 21, 0, 26)]