亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法將 numpy 數組分配給熊貓數據框

無法將 numpy 數組分配給熊貓數據框

富國滬深 2022-12-20 15:29:44
我無法將一個 numpy 數組從一個 numpy 數組的元組分配給一個 pandas 數據框。有人能幫我嗎?我正在使用第三方庫來獲取數據并生成輸出 numpy 數組。代碼:import timeimport numpy as npimport pandas as pdimport ccxt # crypto exchange libraryimport tulipy as ti # financial indicatorsdef currentTimeMillis(self):    return int(round(time.time() * 1000))currentMillisMinus250min  = currentTimeMillis() - 30000000bitmex = ccxt.bitmex()ohlcvDf = pd.DataFrame(            bitmex.fetch_ohlcv(symbol="BTC/USD", limit=500, timeframe="1m", since=currentMillisMinus250min),            columns = ["timestamp", "open", "high", "low", "close", "volume"])macdNp = ti.macd(ohlcvDf["close"].to_numpy(), 12, 26, 9)ohlcvDf["macd"] = macdNp[0]ohlcvDf["signal"] = macdNp[1]錯誤:ValueError: Length of values does not match length of index字符元組:( array([ 6.68695914e+00,  6.12108219e+00,  5.64479926e+00,  4.94431782e+00,         4.33794071e+00,  3.81237487e+00,  3.46875952e+00,  3.15956840e+00]),  array([ 6.68695914,   6.57378375,   6.38798685,   6.09925304,         5.74699058,   5.36006744,   4.98180585,   4.61735836]), array([ 0.00000000e+00, -4.52701560e-01, -7.43187590e-01, -1.15493523e+00,        -1.40904987e+00, -1.54769256e+00, -1.51304634e+00, -1.45778996e+00]))
查看完整描述

2 回答

?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

import time


import numpy as np

import pandas as pd


import ccxt # crypto exchange library

import tulipy as ti # financial indicators


def currentTimeMillis():

    return int(round(time.time() * 1000))


currentMillisMinus250min  = currentTimeMillis() - 30000000


bitmex = ccxt.bitmex()


ohlcvDf = pd.DataFrame(

        bitmex.fetch_ohlcv(symbol="BTC/USD", limit=500, timeframe="1m", since=currentMillisMinus250min),

        columns = ["timestamp", "open", "high", "low", "close", "volume"])


macdNp = ti.macd(ohlcvDf["close"].to_numpy(), 12, 26, 9)


nan_arr = np.nan * np.ones(shape=(25,))

ohlcvDf["macd"] = np.append(nan_arr, macdNp[0])

ohlcvDf["signal"] = np.append(nan_arr, macdNp[1])

在您的代碼中,您使用了self,self.macdPeriodFast, self.macdPeriodSlow, self.macdSignal,但沒有在任何地方引用它,因為我剛剛閱讀了這些庫并嘗試生成元組(可能與您的不同)。但我能夠生成元組并打印這些數組。


您能否提供在此特定代碼中使用的任何其他內容!

我在這里讀過圖書館



查看完整回答
反對 回復 2022-12-20
?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

更好的方法是使用 np.array 而不僅僅是數組。


import numpy as np


arrays = (

 np.array([ 6.68695914e+00,  6.12108219e+00,  5.64479926e+00,  4.94431782e+00,

         4.33794071e+00,  3.81237487e+00,  3.46875952e+00,  3.15956840e+00]), 

 np.array([ 6.68695914,   6.57378375,   6.38798685,   6.09925304,

         5.74699058,   5.36006744,   4.98180585,   4.61735836]),

 np.array([ 0.00000000e+00, -4.52701560e-01, -7.43187590e-01, -1.15493523e+00,

        -1.40904987e+00, -1.54769256e+00, -1.51304634e+00, -1.45778996e+00])

)


print(arrays[0])

輸出:


[6.68695914 6.12108219 5.64479926 4.94431782 4.33794071 3.81237487

 3.46875952 3.1595684 ]


查看完整回答
反對 回復 2022-12-20
  • 2 回答
  • 0 關注
  • 114 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號