【问题标题】:Divide two columns in a dataframe在数据框中划分两列
【发布时间】:2021-10-01 10:27:49
【问题描述】:

我想在python中将df中两列的值相除。

目前为止

df3['Result'] = df3[1_x]/df3[1_y]

内部合并后形成的列。我不断收到错误 SyntaxError: 无效的十进制文字

有谁知道如何解决这个问题?

【问题讨论】:

  • df3['Result'] = df3['1_x']/df3['1_y']?
  • 变量名不能以数字开头。

标签: python indexing divide


【解决方案1】:

列名1_x1_y 缺少单引号:

df3['Result'] = df3['1_x'] / df3['1_y']
#                   ^   ^        ^   ^

可重现的错误:

>>> 1_x
  File "<ipython-input-4828-dea8fc3e99c1>", line 1
    1_x
     ^
SyntaxError: invalid decimal literal

【讨论】:

  • 我输入了单引号,但收到错误 TypeError: unsupported operand type(s) for /: 'int' and 'str'。这些列由数字组成,所以我不明白为什么它被读取为字符串。
  • df3.info()的输出是什么
  • 如您所见,2 1_y 56445 non-null object 不是 int 类型。试试df3['1_x'] / df3['1_y'].astype(int)
  • 然后尝试转换为浮点数。 df3['1_x'] / df3['1_y'].astype(float)
  • @StrawberryCherry。为什么取消选中我的答案?有什么问题吗?
猜你喜欢
  • 2021-06-21
  • 2016-08-05
  • 1970-01-01
  • 1970-01-01
  • 2016-12-31
  • 2021-10-27
  • 1970-01-01
  • 2023-03-08
  • 2019-09-07
相关资源
最近更新 更多