在 Python 字典密钥中提取日期,其中密钥的类型为 np.datetime64



我有一个python字典,其中的键都是np.datetime64类型。我只想保留"yyyy-mm-dd"部分。 字典键如下所示:

dict_keys([numpy.datetime64('2018-01-01T00:00:00.000000000') ...

当我使用:

import pandas as pd
for key in df.keys():
key = pd.to_datetime(key)
key = key.date()
print(key)

我得到这个作为输出(实际上什么是我想要的键(:

2018-01-01
2018-01-03
2018-01-06
2018-01-08
2018-01-11

但这显然不会改变我原始字典中的键。

将日期时间对象转换为字符串:

keys = [str(date) for date in my_dict.keys()]

希望这有效: 提取键,将它们转换为字符串,在"T"上拆分,使用旧字典值压缩新键,然后最终创建新字典。

new_dict = dict(zip([str(x).split('T')[0] for x in my_dict.keys()], my_dict.values()))

您可以使用del,然后在循环中创建新key。我相信这应该有效:

for key,value in df.items():
del df[key] #Delete the datetime object, used as key
key = pd.to_datetime(key) #Trasnform into a datetime object
key = key.date() #Retain only the date part 
df[key] = value #Create a key with only the date, keeping the original value for the key

最新更新