In [0]:
!pip install --upgrade jhtalib
In [0]:
import jhtalib as jhta
from pprint import pprint as pp
import numpy as np
import pandas as pd


def DF2NUMPY(df):
  """
  DataFeed 2 NumPy DataFeed
  """
  return {
    'datetime': np.array(df['datetime']),
    'Open': np.array(df['Open'], dtype=float),
    'High': np.array(df['High'], dtype=float),
    'Low': np.array(df['Low'], dtype=float),
    'Close': np.array(df['Close'], dtype=float),
    'Volume': np.array(df['Volume'], dtype=int)
    }

def NUMPY2DF(df_np):
  """
  NumPy DataFeed 2 DataFeed
  """
  return {
      'datetime': tuple(df_np['datetime']),
      'Open': tuple(df_np['Open']),
      'High': tuple(df_np['High']),
      'Low': tuple(df_np['Low']),
      'Close': tuple(df_np['Close']),
      'Volume': tuple(df_np['Volume'])
  }

def DF2PANDAS(df):
  """
  DataFeed 2 Pandas DataFeed
  """
  return pd.DataFrame({
      'datetime': pd.Series(df['datetime']),
      'Open': pd.Series(df['Open'], dtype=float),
      'High': pd.Series(df['High'], dtype=float),
      'Low': pd.Series(df['Low'], dtype=float),
      'Close': pd.Series(df['Close'], dtype=float),
      'Volume': pd.Series(df['Volume'], dtype=int),
  }, columns=['datetime', 'Open', 'High', 'Low', 'Close', 'Volume'])

def PANDAS2DF(df_pd):
  """
  Pandas DataFeed 2 DataFeed
  """
  return {
      'datetime': tuple(df_pd['datetime']),
      'Open': tuple(df_pd['Open']),
      'High': tuple(df_pd['High']),
      'Low': tuple(df_pd['Low']),
      'Close': tuple(df_pd['Close']),
      'Volume': tuple(df_pd['Volume'])
  }


df = jhta.CSVURL2DF('https://raw.githubusercontent.com/joosthoeks/jhTAlib/master/example/data.csv')
pp (df)

df_np = DF2NUMPY(df)
pp (df_np)

df = NUMPY2DF(df_np)
pp (df)

df_pd = DF2PANDAS(df)
pp (df_pd)

df = PANDAS2DF(df_pd)
pp (df)