我想知道为什么我的函数返回无类型。我似乎找不到任何答案,而且我是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类型,这意味着我无法使用任何值来计算除获得的输出之外的任何其他值,因为它是一个无类型。我经常遇到的错误是:
TypeError: unsupported operand type(s) for *: 'NoneType' and 'float'
我在做什么错?为什么我将其返回为None类型?我对此很陌生,在其他线程中似乎找不到合适的答案。
在此先感谢您的帮助!
答案 0 :(得分:3)
mean_calc_d
不返回任何内容。只需将return mean_dict
放在其底部即可。