无法将 numpy 数组分配给熊猫数据框

我无法将一个 numpy 数组从一个 numpy 数组的元组分配给一个 pandas 数据框。有人能帮我吗?我正在使用第三方库来获取数据并生成输出 numpy 数组。


代码:


import time


import numpy as np

import pandas as pd


import ccxt # crypto exchange library

import tulipy as ti # financial indicators


def currentTimeMillis(self):

    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)


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])

)


富国沪深
浏览 115回答 2
2回答

12345678_0001

import timeimport numpy as npimport pandas as pdimport ccxt # crypto exchange libraryimport tulipy as ti # financial indicatorsdef currentTimeMillis():    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)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,但没有在任何地方引用它,因为我刚刚阅读了这些库并尝试生成元组(可能与您的不同)。但我能够生成元组并打印这些数组。您能否提供在此特定代码中使用的任何其他内容!我在这里读过图书馆

慕的地8271018

更好的方法是使用 np.array 而不仅仅是数组。import numpy as nparrays = ( 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 ]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python