【问题标题】:Why do I get "TypeError: unsupported operand type(s) for -: 'str' and 'str'" Error?为什么我会收到“TypeError: unsupported operand type(s) for -: 'str' and 'str'”错误?
【发布时间】:2021-12-25 16:45:59
【问题描述】:

这是我的数据框:

           Date        Open        High  ...       Close   Adj Close     Volume
0    11/12/2020  119.620003  120.529999  ...  119.209999  118.479599  103162300
1    11/13/2020  119.440002  119.669998  ...  119.260002  118.529289   81581900
2    11/16/2020  118.919998  120.989998  ...  120.300003  119.562920   91183000

..          ...         ...         ...  ...         ...         ...        ...

252  11/12/2021  148.429993  150.395004  ...  149.990005  149.990005   52814971

我正在尝试在上面运行这个简单的代码:

for i in range(1, dataset.shape[0]):
  dataset_new.loc[i-1 , :] =  dataset.loc[i , :] - dataset.loc[i-1 , :]

但我收到此错误消息:

TypeError: unsupported operand type(s) for -: 'str' and 'str'

我不知道为什么会发生这种情况,我该如何解决?

【问题讨论】:

  • Date 将是一个字符串,并且您正在减去所有列。

标签: python-3.x pandas dataframe typeerror


【解决方案1】:

您的日期列很可能是字符串类型。您需要确保所有列都是可减去的。dataset_new.dtypes 将为您打印列类型。

【讨论】:

    猜你喜欢
    • 2020-04-04
    • 2021-03-27
    • 2020-04-14
    • 1970-01-01
    • 2016-08-30
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多