我有一个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