gpt4 book ai didi

python - 从多个数据框中删除多列

转载 作者:行者123 更新时间:2023-12-01 02:56:42 25 4
gpt4 key购买 nike

我有多个数据框,它们都应该具有相同的列标题和维度。我试图通过迭代过程从每一列中删除相同的列,而不是一一进行。

所以我有一个数据框列表:

groupDF = [df1, df2, df3]

然后我尝试删除列,只是从删除 1 列开始:

for i in groupDF:
i.columns = ['firstname', 'lastname', 'age', 'sex']
i.drop(i.columns[2])

列部分的重命名本身效果很好。但是,当我尝试删除列时出现此错误:

 "labels ['age'] not contained in axis"

据我所知,如果列命名不正确,则可能会发生此错误。但是,如果我运行:

df1.columns

它显示了我期望的每个数据帧的名称。这也让我感到困惑,因为我没有说明专栏的名称,只说明了位置。

当我尝试指定要删除的名称(通过用 ['age'] 替换 2 )时,我得到以下结果:

only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and
integer or boolean arrays are valid indices

也许我缺少一种更简单的方法来做到这一点。我很感激有人能够提供的任何帮助。

最佳答案

pandas.DataFrame.drop 的默认行为是 axis=0。这意味着该方法将尝试删除第 0 轴(即 DataFrame 索引)中的标签。如果要删除列,您需要指定要删除的轴为 axis=1。在您的示例中,这将如下所示:

 i.drop(i.columns[2], axis=1, inplace=True)

关于python - 从多个数据框中删除多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44163881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com