Exemplo n.º 1
0
    def loadDataFcn(self):
        self.fname, self.__var__ = QFileDialog.getOpenFileName(self, 'Open file', '{}'.format(curDir), "CSV Files (*.csv)")
        self.f = rc(self.fname, delimiter = ',')

        self.runTime = self.f.iloc[:, 0].values
        self.sens1 = self.f.iloc[:, 1].values
        self.sens2 = self.f.iloc[:, 2].values
        self.sens3 = self.f.iloc[:, 3].values
        # self.sens4 = self.f.iloc[:, 0].values
        self.tempVal = self.f.iloc[:, 4].values
        self.pressVal = self.f.iloc[:, 5].values
        self.humVal = self.f.iloc[:, 6].values
        self.oxVal = self.f.iloc[:, 7].values

        self.p1 = self.graph.plot(self.runTime, self.sens1, pen='r', name='{}'.format(s1n))
        self.p2 = self.graph.plot(self.runTime, self.sens2, pen='g', name='{}'.format(s2n))
        self.p3 = self.graph.plot(self.runTime, self.sens3, pen='b', name='{}'.format(s3n))
        # self.graph.plot(self.runTime, self.sens4, pen='k', name='{}'.format(s4n))
        self.graph.setYRange(0, 5)
        self.graph.setXRange(0, self.totTime)

        self.tempVal_last = mean(self.tempVal)
        self.pressVal_last = mean(self.pressVal)
        self.humVal_last = mean(self.humVal)
        self.oxVal_last = mean(self.oxVal)
        self.vecL.setText('Temp: {:d}℃ \n\nHumidity: {:d}% \n\nPressure: {:d}kPa \n\nOxygen: {:d}%'.format(int(self.tempVal_last), int(self.humVal_last), int(self.pressVal_last), int(self.oxVal_last)))
Exemplo n.º 2
0
    def loadData(self):
        fname,something = QFileDialog.getOpenFileName(self, 'Open file','{}'.format(curDir),"CSV Files (*.csv)")
        print(fname)
        f = rc(fname,delimiter=',',)
        global p3Time
        global p3sens1
        global p3sens2
        global p3sens3
        global p3sens4
        global p3temp
        global p3hum
        global p3press
        global p3ox
        p3Time = f.iloc[:,0].values
        p3sens1 = f.iloc[:,1].values
        p3sens2 = f.iloc[:,2].values
        p3sens3 = f.iloc[:,3].values
        p3sens4 = f.iloc[:,4].values
        p3temp = f.iloc[:,5].values
        p3hum = f.iloc[:,6].values
        p3press = f.iloc[:,7].values
        p3ox = f.iloc[:,8].values

        p3Graph.addLegend(offset=(0,10))
        p3sens1plot = p3Graph.plot(p3Time,p3sens1,pen='r',name='{}'.format(sensor1name))
        p3sens2plot = p3Graph.plot(p3Time,p3sens2,pen='g',name='{}'.format(sensor2name))
        p3sens3plot = p3Graph.plot(p3Time,p3sens3,pen='b',name='{}'.format(sensor3name))
        p3sens4plot = p3Graph.plot(p3Time,p3sens4,pen='k',name='{}'.format(sensor4name))
        p3temp = mean(p3temp)
        p3hum = mean(p3hum)
        p3press = mean(p3press)
        p3ox = mean(p3ox)
        p3vecLabel.setText("Temp: {}℃ \n\nHumidity: {}% \n\nPressure: {}kPa \n\nOxygen: {}%".format(int(p3temp),int(p3hum),int(p3press),int(p3ox)))
        p3Graph.setYRange(0,5)
        p3Graph.setXRange(0,50)
Exemplo n.º 3
0
def x(csv, column):
    listX = [float(x) for x in rc(csv)[column].to_list()]
    listXMean, listXMedian, listXMode, listXStd = sts.mean(listX), sts.median(
        listX), sts.mode(listX), sts.stdev(listX)
    x1s, x1e = listXMean - listXStd, listXMean + listXStd
    x2s, x2e = listXMean - (2 * listXStd), listXMean + (2 * listXStd)
    x3s, x3e = listXMean - (3 * listXStd), listXMean + (3 * listXStd)
    y1 = [
        x for x in listX
        if x > listXMean - listXStd and x < listXMean + listXStd
    ]
    y2 = [
        x for x in listX
        if x > listXMean - (2 * listXStd) and x < listXMean + (2 * listXStd)
    ]
    y3 = [
        x for x in listX
        if x > listXMean - (3 * listXStd) and x < listXMean + (3 * listXStd)
    ]
    return [listX, listXMean, listXMedian, listXMode, listXStd, y1, y2, y3]
Exemplo n.º 4
0
    y=str(pindex[0])[5:tl]
    timearray.append(y)
    i0=0
    indexarrayL=[i0]

    for x in pindex:
        if y!=str(x)[5:tl]:
            timearray.append(str(x)[5:tl])  # change to 16 to 19 to make it in seconds
            indexarrayL.append(i0)
            y=str(x)[5:tl]
        i0+=1
    return [indexarrayL,timearray]

tl = 19  # use 19 for seconds, 16 is for minutes

pl=rc('p_luno_large_2.csv')
pk=rc('p_kraken_large_2.csv')
pl = pl.set_index('timestamp_rounded')
pk = pk.set_index('timestamp_rounded')

# pk=clean_prices(pkraken)
# pl=clean_prices(pluno)
# it was already cleaned - just the lower boundary was 0 instead of 100, but that should not matter

indexarrayL, timearrayL = makearray(pl.index, tl)
indexarrayK, timearrayK = makearray(pk.index, tl)

mergeddf=df(columns=['Time', 'kBid', 'kAsk','lBid','lAsk'])

num_iters = len(indexarrayL)
print('Number of iterations: ' + str(num_iters))
Exemplo n.º 5
0
from datetime import datetime
import matplotlib.pyplot as plt
import os
import pandas as pd
import sqlite3
from pandas import DataFrame as df
import numpy as np
from pandas import read_csv as rc

df_general=rc('Copy of merged_large_2_min.csv')

#Housekeeping
df_general = df_general.ffill()
signalmatrix = df(df_general['lBid']-df_general['kBid'])
signalmatrix = signalmatrix.join(df(df_general['lAsk']-df_general['kAsk']),rsuffix='r')
(signalmatrix).columns=('BidDiff','AskDiff')
timeindf, RoT = trading_plugin(buy_and_sell_entries(20,10))

#In case you fancy
timeindf['RoT']=RoT

def buy_and_sell_entries(ADhandle,BDhandle,df_general=None,signalmatrix=None):
	# df_general is Best Bid Best Ask for both exchanges

	# Our entry and exits
	buyentry=[];sellentry=[]
	
	# Enter the first buy (Index is zero indexed)
	open_signal = signalmatrix['AskDiff']< -ADhandle
	first_entry_idx = df_general[open_signal].head(1).index.values
	buyentry.append(first_entry_idx)
Exemplo n.º 6
0
import numpy as np
import os
import sys
from PyQt5 import QtWidgets, QtGui, QtCore
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from pandas import read_csv as rc
import adminGui
import usrGui
global bg_color
bg_color = '#484848'
w = 320
h = 240

prm_list = rc('parameters.csv', delimiter=',', header='infer')
sVersion = prm_list['Software Version'].values
dVersion = prm_list['Device Version'].values
dID = prm_list['Device ID'].values

cwd = os.getcwd()


class Window(QWidget):
    class usrButton(QPushButton):
        def __init__(self, parent=None):
            super(Window.usrButton, self).__init__()
            self.setText('User GUI')

    class adminButton(QPushButton):
        def __init__(self, parent=None):
Exemplo n.º 7
0
from pandas import read_csv as rc
from random import randint as ri
import statistics as sts
import plotly.figure_factory as ff

p = "data.csv"


def rx(x, y):
    return sts.mean([y[ri(0, len(y) - 1)] for i in range(x)])


x = [rx(30, rc(p)['temp']) for i in range(100)]
print("Mean of population: {}\nMean of sample: {}".format(
    sts.mean(rc(p)["temp"]), sts.mean(x)))
ff.create_distplot([x], [""], show_hist=False).show()
Exemplo n.º 8
0
    i0=0
    indexarrayL=[i0]

    for x in pindex:
        if y!=str(x)[5:tl]:
            timearray.append(str(x)[5:tl])  # change to 16 to 19 to make it in seconds
            indexarrayL.append(i0)
            y=str(x)[5:tl]
        i0+=1
    return [indexarrayL,timearray]

tl = 19  # use 19 for seconds, 16 is for minutes
relevant_cols = ['timestamp_rounded', 'timestamp', 'best_bid', 'best_ask']

# BTC/EUR
pl=rc('p_luno_btc_eur_v1.csv', usecols=relevant_cols)
pk=rc('p_kraken_btc_eur_v1.csv', usecols=relevant_cols)
pb=rc('p_bitstamp_btc_eur_v1.csv', usecols=relevant_cols)
pl = pl.set_index('timestamp_rounded')
pk = pk.set_index('timestamp_rounded')
pb = pb.set_index('timestamp_rounded')

# the datasets were already cleaned, so we do not need to run clean_prices

indexarrayL, timearrayL = makearray(pl.index, tl)
indexarrayK, timearrayK = makearray(pk.index, tl)
indexarrayB, timearrayB = makearray(pb.index, tl)

mergeddf=df(columns=['Time', 'kBid', 'kAsk', 'bBid', 'bAsk', 'lBid','lAsk'])

num_iters = len(indexarrayL)