- 我有一个名为d的字典,它映射了不同数量的日期对于每个键。我有多个钥匙。
- 我真正想做的,是计算总时差 我已经尝试了几种不同的方法,但都没有效果,因为我似乎没有能够依次访问这些值并执行操作。
这是我的代码:
import pandas as pd
Patient_Dates = pd.read_excel(r'C:UsersPycharmProjectsData.xlsx', sheet_name='Sheet 1', header=0, na_values=['NA'], usecols = "B:C")
Patient_Dates_new = Patient_Dates.iloc[3:len(Patient_Dates)]
Patient_Dates_new.columns = ['Patient_ID','Dates']
counts = {k: count(0) for k in Patient_Dates_new.Patient_ID.unique()}
d = defaultdict(dict)
for k, *v in Patient_Dates_new.values.tolist():
d[k][next(counts[k])] = v dict(d) Dictd=dict(d)
下面的代码可以达到这个效果:
from datetime import datetime, timedelta
#Create dictionary with diffrent 'lists' of 'datetime' as values
my_dictionary = {
"1": [datetime.now() + timedelta(days = x) for x in range(0, 10)],
"2": [datetime.now() + timedelta(days = x) for x in range(10, 20)],
"3": [datetime.now() + timedelta(days = x) for x in range(20, 30)],
}
for value in my_dictionary.values(): #Iterate through every KEY
value.sort() #Sort the list
print("Time diffrence between min. {} and max. {} is: {}".format(value[0], value[-1], value[0] - value[-1]))
- 首先,我们用
lists
(datetime objects
)创建一个dictionary
(为此我们使用Python的在线程序) - 然后我们迭代
dictionary
中的每个项目。 - 我们然后
sort
每个list
,并计算first (min)
和last (max)
的差值。