首页 > 解决方案 > 为什么我会收到“TypeError: unsupported operand type(s) for -: 'str' and 'str'” 错误?

问题描述

这是我的数据框:

           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'

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

标签: python-3.xpandasdataframetypeerror

解决方案


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


推荐阅读