熊猫通过自定义功能变换



这是我的简单代码

def custom_func(x):
    for el in x.index:
        print(el)
    return None
df = pd.DataFrame({'A':['F','F','F','K','K'], 'B':[54,87,35,25,82],
                       'C':[56,78,0,14,13]})
mask = df.groupby(['A'])['B'].transform(custom_func)

它生成以下错误消息:

Traceback (most recent call last):
  File "C:/Users/temp3.py", line 59, in <module>
    consecutive_check()
  File "C:/Users/temp3.py", line 56, in consecutive_check
    mask = df.groupby(['A'])['B'].transform(custom_func)
  File "C:Anaconda3libsite-packagespandascoregroupby.py", line 2763, in transform
    result[indexer] = res
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

出了什么问题,为什么我会收到此错误消息。

也许是因为您的函数始终返回None,无论输入如何。您能否提供对最终结果期望的更完整的描述?

最新更新