无法从pandas数据框中删除列

3
我将尝试从pandas数据框中删除一列,方法如下:
df = pd.read_csv('Caravan_Dataset.csv')
X = df.drop('Purchase',axis=1)
y = df['Purchase'] 

但它没有起作用。 我还尝试了以下方法:

df = pd.read_csv('Caravan_Dataset.csv')
X = df.drop('Purchase',axis=1,inplace=True)
y = df['Purchase']

但是它仍然不起作用。它一直提示错误,如购买仍在列中。有什么办法可以解决吗?


你能澄清一下你想要的结果是什么吗?如果你在第二行中删除了“Purchase”列,那么在第三行(y = df...)中它将不可用于分配。你的目标是获得那个错误吗? - tania
2个回答

2
inplace = True 时,数据会就地修改,这意味着它不会返回任何内容,而数据帧现在已经被更新。当 inplace=False 时,您需要将其分配给新的变量。
将您的代码从:
X = df.drop('Purchase',axis=1,inplace=True)

转化为:

df.drop('Purchase',axis=1,inplace=True)

或者,您也可以使用inplace=False(默认值),返回对象的副本,并使用:

X = df.drop('Purchase',axis=1)

0

你需要将它赋值给df,像这样:df = df.drop('column_name', axis=1)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接