我想知道为什么我的函数返回一个None类型。我似乎找不到任何关于这个的答案,而且我对Python还相当陌生。我希望能够在计算和绘制直方图时使用这些值。我的代码如下:
def mean_calc_d(data_col):
mean_vals = df[data_col].value_counts().keys().tolist()
mean_counts = df[data_col].value_counts().tolist()
mean_dict = dict(zip(mean_vals, mean_counts))
print(mean_dict)
mean_calc_d("month")
我得到的结果是一本不错的字典:
{'aug': 184, 'sep': 172, 'mar': 54, 'jul': 32, 'feb': 20, 'jun': 17, 'oct': 15, 'dec': 9, 'apr': 9, 'jan': 2, 'may': 2, 'nov': 1`}
作为旁白,在此之前,我使用以下代码调用csv:
dataframe = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/forest-fires/forestfires.csv')
df = dataframe #I do this to make a copy in case I destroy any elements inadvertantly
我遇到的问题是我的函数,如果我检查类型,它会说它是一个None类型,这意味着我不能使用任何值来计算我得到的输出以外的任何其他值,因为它是一个None类型。我经常遇到的错误是:
TypeError: unsupported operand type(s) for *: 'NoneType' and 'float'
我做错什么了?为什么我要让它以无类型返回?我对这一点相当陌生,似乎在其他方面找不到合适的答案。你知道吗
提前感谢您的帮助!你知道吗
mean_calc_d
不返回任何内容。把return mean_dict
放在最下面。你知道吗相关问题 更多 >
编程相关推荐