为什么我的Python函数在调用我的函数之后创建一个None类型?

2024-04-19 18:21:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道为什么我的函数返回一个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'

我做错什么了?为什么我要让它以无类型返回?我对这一点相当陌生,似乎在其他方面找不到合适的答案。你知道吗

提前感谢您的帮助!你知道吗


Tags: csv函数答案代码none类型dfdata