如何在Python中将包含Timeamp对象的字典值列表转换为datetime对象?

如何在Python中将包含Timeamp对象的字典值列表转换为datetime对象?,python,pandas,datetime,Python,Pandas,Datetime,我有一个包含用户社交媒体活动结果的词典,词典的值位于包含时间戳对象的列表中,我想将其转换为时间对象(datetime.time()) 这是字典 {{'Instagram':[Timestamp('2020-08-23 04:16:05.12456'), Timestamp('2020-08-23 04:17:02.88754'), Timestamp('2020-08-23 05:20:21.43215'), Timestamp('2020-08-23 06:21:19.63441'), Tim

我有一个包含用户社交媒体活动结果的词典,词典的值位于包含时间戳对象的列表中,我想将其转换为时间对象(datetime.time())

这是字典

{{'Instagram':[Timestamp('2020-08-23 04:16:05.12456'), Timestamp('2020-08-23 04:17:02.88754'), Timestamp('2020-08-23 05:20:21.43215'), Timestamp('2020-08-23 06:21:19.63441'), Timestamp('2020-08-23 08:23:15.76421')]},
{'Twitter':[Timestamp('2020-08-23 05:19:12.21245'), Timestamp('2020-08-23 06:21:10.09875'), TiTimestamp('2020-08-23 07:22:08.65784'),Timestamp('2020-08-23 08:23:25.09123')]},
{'Facebook':[Timestamp('2020-08-23 04:1:46.436778'), Timestamp('2020-08-23 05:19:19.34213'), Timestamp('2020-08-23 05:20:25.56784'), Timestamp('2020-08-23 08:23:12.22567')]}}
下面是我编写的将Timestamp对象转换为datetime对象的代码

for i in range(2, len(dataset.columns)):
  (d[dataset.columns[i]])=pd.to_datetime(d[dataset.columns[i]], unit = "ms")

但我得到一个错误,说明:
ValueError:unit='ms'对非数字val='2020-08-23 04:16:05.12456'无效。

使用neste dict进行列表理解:

d = {k: [x.time() for x in v] for k, v in d.items()}
但如果处理来自的解决方案,您可以创建新的列,并在
groupby()之后传递:

df['d'] = pd.to_datetime(df['DateTime'], format='(%Y,%m,%d,%H,%M,%S)')
#added time column
df['time'] = df['d'].dt.time
day1 = df['d'].dt.date[0]
df = df[df['d'].dt.date.eq(day1)] 

df = df.melt(['DateTime','d']) 
df = df[df['value'].eq('Y')] 

d = df.groupby('variable')['time'].agg(list).to_dict()