【问题标题】:Cannot drop an unnamed column in a csv in pandas无法在熊猫的 csv 中删除未命名的列
【发布时间】:2022-06-28 22:47:47
【问题描述】:

尝试从通过 CSV 创建的数据框中删除未命名的列,但不会删除。

for m in mlist: #Loop through each month
    print('Running merge for '+str(m)+' collecting csv files...')
    csvlist = [i for i in glob.glob(str(m)+'2019_G*.{}'.format('csv'))] #List all the CSVs of each month
    month_csv = pd.concat([pd.read_csv(csv) for csv in csvlist])
    month_csv = month_csv.astype({unique_gridid:'int'})
    month_csv = month_csv.set_index(unique_gridid)
    month_csv.columns.str.match("Unnamed")
    month_csv.loc[:,~month_csv.columns.str.match("Unnamed")]
    month_csv.drop("Unnamed: 0", axis=1)
    print(month_csv)

控制台仍然在打印输出中显示未命名的列。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    问题在于以下调用:

    month_csv.drop("Unnamed: 0", axis=1)
    

    drop 函数有一个inplace 参数,默认情况下等于False。因此,该函数返回一个带有已删除列的新数据框。你有两个选择:

    month_csv.drop("Unnamed: 0", axis=1, inplace=True)
    

    month_csv = month_csv.drop("Unnamed: 0", axis=1)
    

    【讨论】:

    • 我没有在我关注的信息源中看到任何地方提到的内容,请收下你!它放弃了这个领域。
    • 你可能不相信我,但我经常犯同样的错误,而且你知道这不是一个容易在长笔记本中找到的)
    猜你喜欢
    • 2017-10-14
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    • 1970-01-01
    • 2014-11-23
    • 2015-01-03
    • 2020-10-03
    相关资源
    最近更新 更多