我对python比较陌生。我尝试导入2种股票的csv。当我运行以下代码时,出现此错误:
TypeError: unsupported operand type(s) for /: 'str' and 'str'
这是否意味着将价格视为字符串?如何确保在导入时将其视为数字?
import pandas as pd
stock1 = pd.read_csv('stock1.csv', parse_dates=['Date', 'Price'])
stock2 = pd.read_csv('stock2.csv', parse_dates=['Date', 'Price'])
for i in (stock1,stock2):
i['Norm return'] = i['Price'] / i.iloc[0]['Price']
pd.read_csv
会尝试推断格式,但有时无法。您可以通过如下dtype
参数来提供类型提示:
stock1 = pd.read_csv('stock1.csv', parse_dates=['Date'], dtype={'Price': float})
也许足以将其拉出parse_dates
。通过写信, parse_dates=['Date', 'Price']
您告诉熊猫尝试将价格定为日期。
您可能还会遇到错误,这可能是pandas首先没有将列读为float的原因。您的.csv中的字符串如'NAN'可以这样做。在https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html中,您可以设置许多其他参数来处理这种情况。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句