为啥我会收到“TypeError: unsupported operand type(s) for -: 'str' and 'str'”错误?
Posted
技术标签:
【中文标题】为啥我会收到“TypeError: unsupported operand type(s) for -: \'str\' and \'str\'”错误?【英文标题】: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
将是一个字符串,并且您正在减去所有列。
【参考方案1】:
您的日期列很可能是字符串类型。您需要确保所有列都是可减去的。dataset_new.dtypes
将为您打印列类型。
【讨论】:
以上是关于为啥我会收到“TypeError: unsupported operand type(s) for -: 'str' and 'str'”错误?的主要内容,如果未能解决你的问题,请参考以下文章