正在清除未命名:0,未命名:1索引列函数

2024-09-28 22:03:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一堆数据集,其中有一个额外的索引列,名为“Unnamed:0”、“Unnamed:1”等,我想创建一个函数来删除这些数据集。我的代码如下所示:

def cleanDf(df):
    '''Remove unwanted index columns from df'''
    for col, row in df.iteritems():
        for i in range(len(df.columns)):
            if ('Unnamed:'+str(' ')+str(i)) == col:
                df = df.drop([col], axis=1)
            else:
                pass
    return df

但是,当我在dataframes上运行此操作时,索引列仍然存在,但更改为“Unnamed:0.1”。为什么会这样?你知道吗


Tags: columns数据函数代码indfforindex
2条回答

你不需要:for col, row in df.iteritems():。尝试:

to_drop = [col for col in df.columns if 'Unnamed:' in col]
df = df.drop(to_drop, axis=1)

或者你可以这样做

df = df[df.columns[~df.columns.str.startswith('Unnamed:')]]

(我一直认为这是笨重的,但哦,好吧)

我想你也可以.loc

df = df.loc[:,~df.columns.str.startswith('Unnamed:')]

相关问题 更多 >