问题描述
我正在尝试使用 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_train
。 melt
期望其参数由关键字指定。试试X_train.melt(id_vars=['id'])
。
我不知道 Melt 函数的签名,但“melt”可能是一个静态函数,您正在通过实例调用它。在这种情况下,一个额外的“self”参数被传递给函数。