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

在Python字典键中提取日期,其中键的类型为np.datetime64,python,pandas,numpy,datetime,dictionary,Python,Pandas,Numpy,Datetime,Dictionary,我有一个python字典,其中所有键都是np.datetime64类型。我只想保留“yyyy-mm-dd”-部分。 字典键如下所示: dict_键([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) 我将其作为输出(实

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

dict_键([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)
我将其作为输出(实际上是我想要的键):


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

将datetime对象转换为字符串:

keys=[str(date)表示my_dict.keys()中的日期]

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

keys=[str(date)表示my_dict.keys()中的日期]

您可以使用
del
,然后在循环中创建新的
键。我相信这会起作用:

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

您可以使用
del
,然后在循环中创建新的

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
希望这能奏效: 提取键,将它们转换为字符串,在“T”上拆分,用旧字典值压缩新键,最后创建新的dict

new_dict = dict(zip([str(x).split('T')[0] for x in my_dict.keys()], my_dict.values()))
希望这能奏效: 提取键,将它们转换为字符串,在“T”上拆分,用旧字典值压缩新键,最后创建新的dict

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