我的代码有问题,我需要根据某些属性找到某个值。

xls = xlrd.open_workbook(filed, on_demand=True)
for sheet_name in xls.sheet_names():
    df = pd.read_excel(filed,sheet_name)  ,python,datetime"/>
	














首页 > 解决方案 > ufunc true_divide 不能使用类型为 dtype('float64') 和 dtype('

我的代码有问题,我需要根据某些属性找到某个值。

xls = xlrd.open_workbook(filed, on_demand=True)
for sheet_name in xls.sheet_names():
    df = pd.read_excel(filed,sheet_name)  

问题描述

我的代码有问题,我需要根据某些属性找到某个值。

xls = xlrd.open_workbook(filed, on_demand=True)
for sheet_name in xls.sheet_names():
    df = pd.read_excel(filed,sheet_name)  
    df['diffspeed']=df['speed'].diff().fillna(0)
    df['timeshift'] = df['time'].shift(-1)
    df['timediff']=(df['timeshift']-df['time'])
    df['Distance']= df['diffspeed']/df['timediff']  
    df.to_excel(writer,sheet_name)
writer.save()           

它不断给我以下错误 ufunc true_divide cannot use operands with types dtype('float64') 和 dtype('


Alpha Vantage“KeyError:'时间序列(每日)'”

我正在尝试制作一个简单的 GUI,从 Alpha Vantage 收集几组历史股票数据。我收到此错误:

  File "d:\GIT\StockAI\main.py", line 34, in run
    data = ts.get_daily(symbol=stock, outputsize='full')
  File "C:\Users\benlu\Anaconda3\lib\site-packages\alpha_vantage\alphavantage.py", line 178, in _format_wrapper
    data = call_response[data_key]
KeyError: 'Time Series (Daily)'

我不完全确定这意味着什么,而且我在搜索这个问题时遇到了一些麻烦。我认为这是我想念的相当简单的事情。此外,输出格式设置为 pandas,如果这很重要的话。这是(希望)所有相关代码:

stockList = ["AAPL", "AMZN", "GOOG", "GOOGL", "MSFT", "JPM", "JNJ", "BA"]

for stock in stockList:
    data = ts.get_daily(symbol=stock, outputsize='full')
    data[0].to_csv(stock + '.csv')

它似乎相当随机地工作。它会收集一些 .csv 文件,然后看似随机地停止...有人有什么帮助可以发送我的方式吗?我将不胜感激!

标签: pythondatetime

解决方案


列的数据类型是从 numpy dtype kinddf['timediff']看到的Timedelta。它旨在表示两个对象之间的差异,并通过减去那些在 line 建立。虽然普通的 s 没有单位,但您可以将 Timedeltas 视为有单位。它们不能用作除数,因为该单位的倒数在 numpy/pandas 中没有表示。 mDatetimedf['timediff']=(df['timeshift']-df['time'])float

您可以将它们转换为以秒为单位的普通浮点数,由 df['timediff'] / np.timedelta64(1, 's') wherenp代表numpy 因此最后一行读取 df['Distance'] = df['diffspeed']/(df['timediff'] / np.timedelta64(1, 's'))

如需进一步解释,请参阅此答案


推荐阅读