TypeError: melt() takes 1 positional argument but 2 were given

TypeError: melt() takes 1 positional argument but 2 were given

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

错误信息:

---------------------------------------------------------------------------
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

这里X_train是一个cudf DataFrame.

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

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