【问题标题】:Question about converting float into 0 and 1 error关于将float转换为0和1错误的问题
【发布时间】:2020-11-14 21:04:11
【问题描述】:

我有一个数据科学项目,我在其中抓取有关汽车的信息。我正在尝试执行统计功能来证明信息是否具有统计相关性。我正在测试的项目的其他部分是汽车的功能,这是相对简单的,因为汽车要么有这个功能,要么没有。换句话说,0 或 1。但对于项目的其他部分,例如专家评级,它介于 3.1 到 4.8 之间,我试图将其分成两组,以便对其进行 T 检验。

这是我的代码

KBB_df.Expert-Rating[KBB_df.Expert-Rating <= ('3.6')] = 0
KBB_df.Expert-Rating[KBB_df.Expert-Rating > ('3.6')] = 1
print(Expert-Rating) 

这是我收到的错误SyntaxError: can't assign to operator 有什么问题?

【问题讨论】:

  • Expert-Rating 作为标识符没有意义。它包含一个运算符,因此不是合法名称。你的意思是Expert_Rating?这个问题似乎是一个简单的错字。
  • 他们可能一开始没有选择列名。这可能是一个有用的问题,这与名称不是有效 Python 标识符的列类似:stackoverflow.com/questions/13757090/…
  • @Weeble 好点。我没有想到这种可能性。
  • @Weeble 谢谢我忘了检查列的名称现在一切正常,不幸的是 csv 带有这样的列名称,将来必须更加小心

标签: python pandas floating-point syntax-error


【解决方案1】:

您不能在 Python 中使用 - 作为标识符的一部分。 Python 认为你正在做减法,它抱怨“无法分配给运算符”,因为从它的角度来看,你正在做 a - b = 0 其中 aKBB_df.ExpertbRating[KBB_df.Expert-Rating &lt;= ('3.6')]

如果您无法重命名列,您可以使用KBB_df['Expert-Rating'] 而不是KBB_df.Expert-Rating 来访问包含标识符中不允许的字符的列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多