【问题标题】:Invalid syntax error when using the drop method in pandas在 pandas 中使用 drop 方法时出现无效的语法错误
【发布时间】:2017-09-13 15:45:27
【问题描述】:

使用 .drop 函数从数据集中删除列时,我不断收到语法错误。这是我的代码:

df= ratings.drop(['movieId', 'userId', axis=1])
df

movieId 和 userId 来自我试图删除这两列的数据集评级。

我做错了什么?

【问题讨论】:

    标签: python-3.x pandas syntax-error


    【解决方案1】:

    如果:

    price_data.drop[index_to_drop, axis=0, inplace=True]
    

    错误在括号中: 将方括号改为普通括号:

    price_data.drop(index_to_drop, axis=0, inplace=True)
    

    【讨论】:

      【解决方案2】:

      试试这个

      df = ratings.drop(['movieId', 'userId'], axis=1) df
      

      你把结束括号放错了地方。

      考虑数据框df

      df = pd.DataFrame(dict(movieId=[1], userId=[2], A=[3], B=[4]))
      print(df)
      
         A  B  movieId  userId
      0  3  4        1       2
      

      然后

      df.drop(['movieId', 'userId', axis=1])
      

      产量

        File "<ipython-input-1007-977e1363112d>", line 1
          df.drop(['movieId', 'userId', axis=1])
                                        ^
      SyntaxError: invalid syntax
      
      df.drop(['movieId', 'userId'], axis=1)
      
         A  B
      0  3  4
      

      【讨论】:

      • 我试过了,然后我得到另一个错误,说“标签 ['movieId' 'userId'] 不包含在轴中”。但是movieId和userId肯定在列中
      • @CABurns 那么你的列名中可能有空格。尝试df.columns = df.columns.str.strip(),然后尝试drop。看到空白。 print(df.columns.tolist()) 看看你有没有意外发现。
      • 它仍然说“标签 ['movieId' 'userId'] 不包含在轴中”。什么时候打印,输出中没有显示movieId和userId
      • @CABurns 是的,这就是错误。但是print(df.columns.tolist()) 说什么?
      • 这是我的 print 输出:['name', 'gender', 'births', 'year', 'title', 'genres', 'rating'] 我没有看到 movieId 和用户ID
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-29
      • 1970-01-01
      • 2023-02-14
      相关资源
      最近更新 更多