TypeError:DataFrame.drop() 需要 1 到 2 个位置参数,但给出了 3 个

mkl*_*000 3 python dataframe

我有一个大文件,我试图使用 dataframe.drop 来减少它,这是我的代码:

probe_df = pd.read_csv(csv_file,header = 9233, nrows = 4608)
# Get rid of stuff
c_to_drop = 'Unnamed: ' + str(count_tp+1)
probe_df = probe_df.set_index("Chamber ID").drop(c_to_drop,1)
Run Code Online (Sandbox Code Playgroud)

当我运行此命令时,我收到以下错误消息:

probe_df = probe_df.set_index("Chamber ID").drop(c_to_drop,1)
TypeError: DataFrame.drop() takes from 1 to 2 positional arguments but 3 were given
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会出现错误以及如何修复它。请帮忙!

我是新手,我尝试在网上寻找解决方案,但我仍然很新,没有看到任何与我的问题完全匹配的内容。

Sho*_*orn 7

根据pandas 文档, drop 的来源是

DataFrame.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

表示*允许的位置参数的结束。这表明位置参数将是labels,并且对于 python 的错误消息,这可能来自self未直接显示的位置参数,因为它是隐式提供的。

因此,probe_df = probe_df.set_index("Chamber ID").drop(c_to_drop,1)将 2 个位置参数输入到一个只需要 1 个(不包括self)的函数中。

通过将其更改为probe_df.set_index("Chamber ID").drop(c_to_drop, axis=1),我们可以1根据函数的要求将位置参数转换为关键字参数。