类型错误:melt() 需要 1 个位置参数,但给出了 2 个

问题描述

我正在尝试使用 melt() 函数,但它向我显示了传递 2 个参数的错误,这真的很奇怪,因为我将 id 作为参数传递,而在我的 DataFrame 中我只有一个 { {1}} 列,尽管此错误仅在我使用通过 id 函数从数据集拆分的数据时出现,否则它工作正常。

错误信息:

train_test_split

这里的 X_train一个 --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-676-bfd6b4109c81> in <module> 1 # melt into long form ----> 2 X_train = X_train.melt('id') 3 4 # group on melted id for idxmax/mean per "row" 5 g = X_train.groupby('id').value TypeError: melt() takes 1 positional argument but 2 were given

解决方法

位置参数为self,即X_trainmelt 期望其参数由关键字指定。试试X_train.melt(id_vars=['id'])

,

我不知道 Melt 函数的签名,但“melt”可能是一个静态函数,您正在通过实例调用它。在这种情况下,一个额外的“self”参数被传递给函数。