You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中删除列?调用drop()时遇['DATE']未找到轴错误

问题分析与解决

问题根源

从打印的DataFrame结果能看到,数据列名是DATE,MCOILBRENTEU和DATE,PNGASEUUSDM,每行的日期与价格用逗号分隔,但你读取CSV时指定了delimiter=";",这导致Pandas把整行内容当成了单一列,根本不存在名为DATE的列,所以执行drop("DATE", axis=1)时会报错:

在轴中未找到['DATE']

修复步骤

1. 修正CSV读取的分隔符

你的CSV文件实际用逗号分隔,把delimiter=";"替换为delimiter=","(也可以直接省略该参数,因为pd.read_csv默认分隔符就是逗号)。

2. 正确使用drop方法

当设置inplace=True时,drop会直接修改原DataFrame,返回值为None,无需赋值给新变量;如果要保留原DataFrame,就去掉inplace=True,将返回的新DataFrame赋值给变量。

修改后的完整代码

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

path_brent = "/Users/alfredolucente/Documents/MCOILBRENTEU.csv"
path_natgas = "/Users/alfredolucente/Documents/PNGASEUUSDM.csv"

# 修正分隔符为逗号
brent_prices = pd.read_csv(path_brent, delimiter=",")
natgas_prices = pd.read_csv(path_natgas, delimiter=",")

print(brent_prices.head(10))
print(natgas_prices.head(10))

# 方式1:保留原DataFrame,返回新的DataFrame
brent_prices_2 = brent_prices.drop("DATE", axis=1)
print(brent_prices_2)

# 方式2:直接修改原DataFrame,无需赋值
# brent_prices.drop("DATE", inplace=True, axis=1)
# print(brent_prices)

内容的提问来源于stack exchange,提问作者Alfredo Lucente

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 03:17:30