示例#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)))
示例#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)
示例#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]
示例#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))
示例#5
0
文件: main.py 项目: hugo1005/lima
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)
示例#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):
示例#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()
示例#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)