我正在编写一个函数,该函数返回一个字典,其中以doc的年份为键,并以值的形式指定一个元组,该元组由do_get_citations_per_year
函数返回。
def do_get_citations_per_year(data, year):
result = tuple()
my_ocan['creation'] = pd.DatetimeIndex(my_ocan['creation']).year
len_citations = len(my_ocan.loc[my_ocan["creation"] == year, "creation"])
timespan = my_ocan.loc[my_ocan["creation"] == year, "timespan"].fillna(0).mean()
result = (len_citations, timespan)
print(result)
return result
#test print(my_ocan.get_citations_per_year(2018)) Output: (32, 240.03125)
当我在另一个函数中调用同一函数时:do_get_citations_all_years
函数不会返回相同的元组(32, 240.03125)
,而是返回(0, nan)
。为什么要在那里?
def do_get_citations_all_years(data):
mydict = {}
s = set(my_ocan.creation)
print(s)
for year in s:
mydict[year] = do_get_citations_per_year(data, year)
return mydict
#Output: {2016: (0, nan), 2017: (0, nan), 2018: (0, nan), 2013: (0, nan), 2015: (0, nan)}
非常感谢您=)