Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/pandas/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/scheme/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas 如何从此数据框中删除一行? df=df.drop(['3666第21街]],轴=1,在位=True)_Pandas - Fatal编程技术网

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"