Pandas 如何从此数据框中删除一行? df=df.drop(['3666第21街]],轴=1,在位=True)
我正在使用此代码,但仍然显示一个错误,说明:Pandas 如何从此数据框中删除一行? df=df.drop(['3666第21街]],轴=1,在位=True),pandas,Pandas,我正在使用此代码,但仍然显示一个错误,说明: ID Address City State Country Name Employees 0 1 3666 21st St San Francisco CA 94114 USA Madeira 8 1 2 735 Dolores St San Francisco CA 94119
ID Address City State Country Name Employees
0 1 3666 21st St San Francisco CA 94114 USA Madeira 8
1 2 735 Dolores St San Francisco CA 94119 USA Bready Shop 15
2 3 332 Hill St San Francisco Cal USA Super River 25
3 4 3995 23rd St San Francisco CA 94114 USA Ben's Shop 10
4 5 1056 Sanchez St San Francisco California USA Sanchez 12
5 6 551 Alvarado St San Francisco CA 94114 USA Richvalley 20
有人能帮我解决这个问题吗?drop方法只对索引或列名有效。有两种方法可以满足您的需求:
地址
列作为索引,然后删除
要删除的值。您应该使用轴=0,而不是轴=1。默认值为轴=0
。如果要分配输出,请不要使用inplace=True
drop
地址
值都不同,则首选第一种方法。数据帧的索引实际上是一系列行标签,因此使用重复的行标签没有多大意义:
df.set\u索引('Address',inplace=True)
df.drop(['3666第21街'],原地=真)
因此,如果地址
列不清晰,则首选第二种方法:
is_bad_address=df['address']='3666第21街'
#如果您有多个错误地址,请选择:
#is_bad_address=df['address'].isin(['366 21th St'])
df=df.loc[~地址不正确]
您需要查阅Pandas文档,了解
axis=
和inplace=
关键字参数的正确用法。您两个都使用不正确在不了解代码的工作原理的情况下,请勿复制和粘贴代码。这与解决此问题的正确方法无关,但您不能同时分配和使用inplace=True
;这是一个或另一个df=df(一些就地操作)
保证df随后是None
,因为这是就地操作的返回。在问这个问题之前,我参考了其他人关于同一主题的问题,他们告诉我添加axis和inplace将消除错误。所以我试过了,但对我来说效果不太好,后来我尝试使用“iloc”的索引方法,这很有效@shadowtalker@KarthikK告诉你的不正确。不要在不了解代码工作原理的情况下复制和粘贴代码。你所说的地址不正确是什么意思..很抱歉,我没听清楚。你是说我应该给它起个更好的名字,还是说我应该使用一个不同的函数@暗影对话者,谢谢你的帮助“坏”=“你想移除的”
KeyError: "['3666 21st St'] not found in axis"