How to fix [nan] output from csv file? - python

I’m trying to work with a very large csv file (15,500) that contains a Date, Time (HH:MM), Name, High, Low as the fields. Ideally this project will give me time bins for the data to show me what time the highest and lowest priced item tends to sell. The first step I’ve tried is to simply get the data into python and I’m encountering issues already. Before I can even begin to think about how to accomplish the end goal I’m stuck. I'm obviously so new at this, so please be kind...`
import numpy as np
my_data = np.genfromtxt('http://localhost:8888/edit/Downloads/sales.csv', delimiter= " , ", invalid_raise = False)
print (my_data)
output
[nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan]
At this step I'd just like to see that my data has been imported correctly.
The next step I believe will be to find the max and min for each date, then figure out which time those happened.
Would that just be a for loop for the date, then an embedded for loop to find max and min?
I'd like a simple histograph of the time bins on the bottom to show if there is a time when the most expensive item sells and when the least expensive item sells (the data is already in 5min buckets).

There are spaces around the ",", try removing these. Additionally, try to add dtype=None, encoding='utf-8'. So try:
my_data = np.genfromtxt('Downloads/sales.csv', delimiter=",", dtype=None, encoding='utf-8')
Additionally, if the CSV has headers, you could try adding names=True. If you do that, you can access them by doing my_data['header_name']. (And (500,15) does not sound that large, numpy can deal with much larger arrays.)
And you should not use the Jupyter notebook url for loading that file. Just change the path to the proper filename.

Related

How to remove rows that include partially Nan values without taking specific part of the row into account?

I am working with multiple big data frames. I want to remove their NaN parts automatically to ease the data cleansing process. Data is collected from a camera or radar feed, but the part of the data I need is when a specific object comes into the view horizon of the camera/ radar. So, the data file (frame) looks like below, and has lots of NaN values:
total in seconds datetime(utc) channels AlviraPotentialDronePlots_timestamp AlviraPotentialDronPlot_id ...
0 1601381457 2020-09-29 12:10:57 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 1601381459 2020-09-29 12:10:59 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2 1601381460 2020-09-29 12:11:00 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3 1601381461 2020-09-29 12:11:01 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 1601381463 2020-09-29 12:11:03 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... Useful data is here ... ... ... ... ... ... ... ... ...
623 1601382249 2020-09-29 12:24:09 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
624 1601382250 2020-09-29 12:24:10 NaN NaN NaN NaN NaN NaN NaN NaN ... 51.521264 5.858627 5.0 NaN NaN SearchRadar 0.0 0.0 NaN NaN
625 1601382251 2020-09-29 12:24:11 NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
I have removed the columns with all NaN values using:
df = df.dropna(axis=1, how='all')
Now, I want to remove rows that contain all NaN. However, since total in seconds and datetime(utc) are always present in the file, I cannot use the following command:
df = df.dropna(axis=0, how='all')
Also, I cannot use how='any', because that would remove parts of the useful data too (the useful data contains some NaN values which I will fill later). I have to use the dropna() in a way that it does not take the total in seconds and datetime(utc) into account, but if all other fields are NaNs, then removes the whole row.
The closest I came to solving this problem was the command mentioned in this link, but I guess I am not enough familiar with Python to be able to formulate the following logic:
if in one row field != [is not] 'total in seconds' | [or] 'datetime(utc)' & [and] other fields == [is] 'NaN' then remove the row
I tried writing this with for loop too, but I was not successful. Can someone help me with this?
Thanks in advance.
You can check all columns without total in seconds, datetime(utc) by subset parameter with Index.difference:
cols = ['total in seconds','datetime(utc)']
checked = df.columns.difference(cols)
df = df.dropna(subset=checked, how='all')
If your number of columns is constant, you can use the parameter thresh.
Lets say you have 50 columns, you could put the thresh at 48 if you have 2 columns that are never empty.
For more, check https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.dropna.html

np.dot returns nan for Dataframe(float64) and np.ndarray(fload64)

I have a squared dataframe containing over 505 rows and columns (a 505x505 matrix)
which I need to dot multiply to an ndarray from numpy (505 items).
the problem is that the result is an ndarray with 505 items, full of nan.
I tried replicating it on a separate notebook, but I wasn't able to.
in
print('df ', df)
print('info ', df.info())
result = np.dot(df, np.random.rand(505))
print('result.shape: ', result.shape)
print('result ', result)
out
df A AAL AAP AAPL ABBV ABC ABMD \
A 0.093188 0.072021 0.048887 0.067503 0.047795 0.052311 0.051706
AAL 0.072021 0.547093 0.099290 0.069475 0.045120 0.066275 0.065950
AAP 0.048887 0.099290 0.143932 0.055590 0.043934 0.059230 0.041979
AAPL 0.067503 0.069475 0.055590 0.140050 0.051688 0.054113 0.060444
ABBV 0.047795 0.045120 0.043934 0.051688 0.096598 0.047673 0.032663
... ... ... ... ... ... ... ...
YUM 0.042185 0.095983 0.058538 0.052228 0.036547 0.046676 0.031293
ZBH 0.054474 0.127670 0.057043 0.054673 0.046718 0.054718 0.053090
ZBRA 0.079731 0.100945 0.064364 0.091272 0.054140 0.062255 0.066586
ZION 0.061233 0.176829 0.075915 0.048804 0.044935 0.066857 0.044151
ZTS 0.060966 0.052413 0.054156 0.069211 0.047445 0.054443 0.041018
XRAY XYL YUM ZBH ZBRA ZION ZTS
A 0.053152 0.064197 0.042185 0.054474 0.079731 0.061233 0.060966
AAL 0.110541 0.125551 0.095983 0.127670 0.100945 0.176829 0.052413
AAP 0.064716 0.071780 0.058538 0.057043 0.064364 0.075915 0.054156
AAPL 0.047973 0.067265 0.052228 0.054673 0.091272 0.048804 0.069211
ABBV 0.049469 0.043552 0.036547 0.046718 0.054140 0.044935 0.047445
... ... ... ... ... ... ... ...
YUM 0.060310 0.059523 0.098728 0.069827 0.051222 0.057302 0.057192
ZBH 0.084555 0.068429 0.069827 0.136291 0.070115 0.089688 0.058264
ZBRA 0.068271 0.085070 0.051222 0.070115 0.185910 0.087744 0.069007
ZION 0.099294 0.098861 0.057302 0.089688 0.087744 0.204927 0.040132
ZTS 0.052646 0.057712 0.057192 0.058264 0.069007 0.040132 0.095019
[505 rows x 505 columns]
<class 'pandas.core.frame.DataFrame'>
Index: 505 entries, A to ZTS
Columns: 505 entries, A to ZTS
dtypes: float64(505)
memory usage: 2.0+ MB
info None
result.shape: (505,)
result [nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan]
In this situation you should use DataFrame.dot
import pandas as pd;
import numpy as np
df = pd.DataFrame(np.random.randn(5,5), columns=['one', 'two', 'three', 'four', 'five'])
other = pd.DataFrame(np.random.randn(5,5), columns=['one', 'two', 'three', 'four', 'five']).transpose()
Notice that the indices of the second DataFrame must match the rows of the first, then you can multiply them
df.dot(other)
# or
other.dot(df)
Remember that the matrix multiplication is not commutative.
If you do df.dot(other) it will return a dataframe with the indices of df and the columns of other, if you call it with a numpy array it will return a dataframe with columns counting [0,1,2,...]

Why are both threads not executing simultaneously?

This is my first attempt with threading and I have run into numerous hurdles already! So my code runs two threads in parallel, one which runs a function to receive data blocks from the server and puts them into a queue and the other which runs a function that removes the data blocks from the queue and performs calculations until the queue is empty.
The client code is:
import socket
import turtle
import queue
import threading
#import timeit
from tkinter import *
class GUI:
entries = []
def __init__(self, master):
self.master = master
master.title("Collision Detection")
self.buff_data = queue.Queue()
self.t1 = threading.Thread(target = self.recvData)
self.t2 = threading.Thread(target=self.calculate_threshold)
self.entries = []
self.host = '127.0.0.1'
self.port = 5001
self.s = socket.socket()
self.s.connect((self.host, self.port))
self.create_GUI()
def create_GUI(self):
self.input_label = Label(root, text = "Input all the gratings set straight wavelength values in nm")
self.input_label.grid(row = 0)
self.core_string = "Core "
#entries = []
self.label_col_inc = 0
self.entry_col_inc = 1
self.core_range = range(1, 5)
for y in self.core_range:
self.core_text = self.core_string + str(y) + '_' + '25'
self.core_label = Label(root, text = self.core_text)
self.entry = Entry(root)
self.core_label.grid(row=1, column=self.label_col_inc, sticky=E)
self.entry.grid(row=1, column=self.entry_col_inc)
self.entries.append(self.entry)
self.label_col_inc += 2
self.entry_col_inc += 2
self.threshold_label = Label(root, text = "Threshold in nm")
self.entry_threshold = Entry(root)
self.threshold_label.grid(row = 2, sticky = E)
self.entry_threshold.grid(row = 2, column = 1)
self.light_label = Label(root, text = 'Status')
self.light_label.grid(row = 3, column = 3)
self.canvas = Canvas(root, width = 150, height = 50)
self.canvas.grid(row = 4, column = 3)
# Green light
self.green_light = turtle.RawTurtle(self.canvas)
self.green_light.shape('circle')
self.green_light.color('grey')
self.green_light.penup()
self.green_light.goto(0,0)
# Red light
self.red_light = turtle.RawTurtle(self.canvas)
self.red_light.shape('circle')
self.red_light.color('grey')
self.red_light.penup()
self.red_light.goto(40,0)
self.data_button = Button(root, text = "Get data above threshold", command = self.getData)
self.data_button.grid(row = 5, column = 0)
# function to receive TCP data blocks
def getData(self):
#start = timeit.default_timer()
len_message = self.s.recv(4)
print('len_message', len_message)
bytes_length = int(len_message.decode('utf-8')) # for the self-made server
recvd_data = self.s.recv(bytes_length)
print('data', recvd_data)
self.buff_data.put(recvd_data)
#stop = timeit.default_timer()
#print('Time: ', stop - start) gives 0.0002s
self.t1.start()
self.t2.start()
def recvData(self):
len_message = self.s.recv(4)
print('len_message', len_message)
while len_message:
bytes_length = int(len_message.decode('utf-8')) # for the self-made server
recvd_data = self.s.recv(bytes_length)
print('data', recvd_data)
self.buff_data.put(recvd_data)
len_message = self.s.recv(4)
print('len_message', len_message)
else:
print('out of loop')
self.s.close()
def calculate_threshold(self):
#start = timeit.default_timer()
print('Calculating:')
while not self.buff_data.empty():
print('okay enter')
rmv_data = self.buff_data.get()
stringdata = rmv_data.decode('utf-8')
rep_str = stringdata.replace(",", ".")
splitstr = rep_str.split()
inc = 34
wav_threshold = []
for y in self.entries:
straight_wav = float(y.get())
wav = float(splitstr[inc])
wav_diff = wav - straight_wav
if wav_diff < 0:
wav_diff = wav_diff * (-1)
wav_threshold.append(wav_diff)
inc += 56
threshold = float(self.entry_threshold.get())
for x in wav_threshold:
if (x > threshold):
self.red_light.color('red')
self.green_light.color('grey')
else:
self.red_light.color('grey')
self.green_light.color('green')
#stop = timeit.default_timer()
#print('Time: ', stop - start) gives 0.11s
# function to write into the file
def write_file(self,data):
with open("Output.txt", "a") as text_file:
text_file.write('\t'.join(data[0:]))
text_file.write('\n')
if __name__ == '__main__':
root = Tk()
gui = GUI(root)
root.mainloop()
I ran a server code to send only one data block with both threads commented and ran the start and stop variables of getData() and saw it takes 0.0002s to transfer one data block. Then I ran the server code to send only one data block and ran the start and stop variables of only calculate_threshold() and saw it takes 0.12407s to perform the calculations.
Based on this I removed the timeit variables and sent around 34 data blocks (due to limitation of word limit in the body of my post, I have shown only few below) with a time delay of 0.5s after sending 10 data blocks and noticed that I get this in my console:
C:\Users\PycharmProjects\GUI\venv\Scripts\python.exe C:/Users/PycharmProjects/GUI/GUI_v4.py
len_message b'1685'
data b' 2020/03/02\t14:42:05\t318301\t4\t1\t25\t0\t0\t0\t0\t1513,094\t1516,156\t1519,154\t1521,969\t1525,029\t1527,813\t1530,921\t1533,869\t1536,740\t1539,943\t1542,921\t1545,879\t1548,843\t1551,849\t1554,760\t1557,943\t1560,782\t1563,931\t1566,786\t1569,751\t1572,690\t1575,535\t1578,638\t1581,755\t1584,759\t41\t39\t33\t39\t48\t44\t49\t55\t61\t58\t64\t55\t68\t74\t68\t59\t57\t74\t61\t68\t58\t64\t54\t47\t46\t2\t25\t0\t0\t0\t0\t1512,963\t1515,935\t1518,857\t1521,849\t1524,655\t1527,577\t1530,332\t1533,233\t1536,204\t1539,488\t1542,571\t1545,725\t1549,200\t1552,430\t1555,332\t1558,484\t1561,201\t1564,285\t1567,001\t1569,870\t1572,758\t1575,491\t1578,512\t1581,547\t1584,405\t48\t43\t37\t42\t57\t54\t59\t62\t67\t58\t71\t59\t77\t82\t82\t64\t71\t88\t77\t79\t72\t73\t63\t49\t50\t3\t25\t0\t0\t0\t0\t1513,394\t1516,517\t1519,536\t1522,082\t1525,428\t1527,963\t1531,288\t1534,102\t1536,659\t1539,757\t1542,707\t1545,627\t1548,389\t1551,459\t1554,406\t1557,986\t1560,667\t1564,103\t1567,036\t1570,144\t1573,189\t1575,888\t1579,185\t1582,323\t1585,338\t35\t36\t32\t37\t57\t58\t61\t64\t75\t73\t70\t62\t61\t62\t59\t51\t52\t64\t58\t62\t70\t70\t64\t54\t55\t4\t25\t0\t0\t0\t0\t1512,658\t1515,752\t1518,797\t1521,707\t1524,744\t1527,627\t1530,871\t1534,002\t1537,086\t1540,320\t1543,217\t1546,010\t1548,660\t1551,385\t1554,253\t1557,074\t1560,193\t1563,116\t1566,043\t1568,963\t1571,855\t1574,957\t1577,954\t1581,128\t1584,273\t43\t42\t39\t40\t56\t50\t56\t62\t65\t54\t59\t62\t75\t79\t73\t63\t67\t77\t73\t75\t68\t62\t54\t51\t51\t100 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN'
len_message b'1685'
data b' 2020/03/03\t14:42:05\t318302\t4\t1\t25\t0\t0\t0\t0\t1513,094\t1516,156\t1519,154\t1521,969\t1525,029\t1527,813\t1530,921\t1533,869\t1536,740\t1539,943\t1542,921\t1545,879\t1548,843\t1551,849\t1554,760\t1557,943\t1560,782\t1563,931\t1566,786\t1569,751\t1572,690\t1575,535\t1578,638\t1581,755\t1584,759\t41\t39\t33\t39\t48\t44\t49\t55\t61\t58\t64\t55\t68\t74\t68\t59\t57\t74\t61\t68\t58\t64\t54\t47\t46\t2\t25\t0\t0\t0\t0\t1512,963\t1515,935\t1518,857\t1521,849\t1524,655\t1527,577\t1530,332\t1533,233\t1536,204\t1539,488\t1542,571\t1545,725\t1549,200\t1552,430\t1555,332\t1558,484\t1561,201\t1564,285\t1567,001\t1569,870\t1572,758\t1575,491\t1578,512\t1581,547\t1584,405\t48\t43\t37\t42\t57\t54\t59\t62\t67\t58\t71\t59\t77\t82\t82\t64\t71\t88\t77\t79\t72\t73\t63\t49\t50\t3\t25\t0\t0\t0\t0\t1513,394\t1516,517\t1519,536\t1522,082\t1525,428\t1527,963\t1531,288\t1534,102\t1536,659\t1539,757\t1542,707\t1545,627\t1548,389\t1551,459\t1554,406\t1557,986\t1560,667\t1564,103\t1567,036\t1570,144\t1573,189\t1575,888\t1579,185\t1582,323\t1585,338\t35\t36\t32\t37\t57\t58\t61\t64\t75\t73\t70\t62\t61\t62\t59\t51\t52\t64\t58\t62\t70\t70\t64\t54\t55\t4\t25\t0\t0\t0\t0\t1512,658\t1515,752\t1518,797\t1521,707\t1524,744\t1527,627\t1530,871\t1534,002\t1537,086\t1540,320\t1543,217\t1546,010\t1548,660\t1551,385\t1554,253\t1557,074\t1560,193\t1563,116\t1566,043\t1568,963\t1571,855\t1574,957\t1577,954\t1581,128\t1584,273\t43\t42\t39\t40\t56\t50\t56\t62\t65\t54\t59\t62\t75\t79\t73\t63\t67\t77\t73\t75\t68\t62\t54\t51\t51\t100 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN'
len_message b'1685'
data b' 2020/03/04\t14:42:05\t318303\t4\t1\t25\t0\t0\t0\t0\t1513,094\t1516,156\t1519,154\t1521,969\t1525,029\t1527,813\t1530,921\t1533,869\t1536,740\t1539,943\t1542,921\t1545,879\t1548,843\t1551,849\t1554,760\t1557,943\t1560,782\t1563,931\t1566,786\t1569,751\t1572,690\t1575,535\t1578,638\t1581,755\t1584,759\t41\t39\t33\t39\t48\t44\t49\t55\t61\t58\t64\t55\t68\t74\t68\t59\t57\t74\t61\t68\t58\t64\t54\t47\t46\t2\t25\t0\t0\t0\t0\t1512,963\t1515,935\t1518,857\t1521,849\t1524,655\t1527,577\t1530,332\t1533,233\t1536,204\t1539,488\t1542,571\t1545,725\t1549,200\t1552,430\t1555,332\t1558,484\t1561,201\t1564,285\t1567,001\t1569,870\t1572,758\t1575,491\t1578,512\t1581,547\t1584,405\t48\t43\t37\t42\t57\t54\t59\t62\t67\t58\t71\t59\t77\t82\t82\t64\t71\t88\t77\t79\t72\t73\t63\t49\t50\t3\t25\t0\t0\t0\t0\t1513,394\t1516,517\t1519,536\t1522,082\t1525,428\t1527,963\t1531,288\t1534,102\t1536,659\t1539,757\t1542,707\t1545,627\t1548,389\t1551,459\t1554,406\t1557,986\t1560,667\t1564,103\t1567,036\t1570,144\t1573,189\t1575,888\t1579,185\t1582,323\t1585,338\t35\t36\t32\t37\t57\t58\t61\t64\t75\t73\t70\t62\t61\t62\t59\t51\t52\t64\t58\t62\t70\t70\t64\t54\t55\t4\t25\t0\t0\t0\t0\t1512,658\t1515,752\t1518,797\t1521,707\t1524,744\t1527,627\t1530,871\t1534,002\t1537,086\t1540,320\t1543,217\t1546,010\t1548,660\t1551,385\t1554,253\t1557,074\t1560,193\t1563,116\t1566,043\t1568,963\t1571,855\t1574,957\t1577,954\t1581,128\t1584,273\t43\t42\t39\t40\t56\t50\t56\t62\t65\t54\t59\t62\t75\t79\t73\t63\t67\t77\t73\t75\t68\t62\t54\t51\t51\t100 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN'Calculating:
okay enterlen_message b'1685'
data b' 2020/03/05\t14:42:05\t318411\t4\t1\t25\t0\t0\t0\t0\t1513,094\t1516,156\t1519,154\t1521,969\t1525,029\t1527,813\t1530,921\t1533,869\t1536,740\t1539,943\t1542,921\t1545,879\t1548,843\t1551,849\t1554,760\t1557,943\t1560,782\t1563,931\t1566,786\t1569,751\t1572,690\t1575,535\t1578,638\t1581,755\t1584,759\t41\t39\t33\t39\t48\t44\t49\t55\t61\t58\t64\t55\t68\t74\t68\t59\t57\t74\t61\t68\t58\t64\t54\t47\t46\t2\t25\t0\t0\t0\t0\t1512,963\t1515,935\t1518,857\t1521,849\t1524,655\t1527,577\t1530,332\t1533,233\t1536,204\t1539,488\t1542,571\t1545,725\t1549,200\t1552,430\t1555,332\t1558,484\t1561,201\t1564,285\t1567,001\t1569,870\t1572,758\t1575,491\t1578,512\t1581,547\t1584,405\t48\t43\t37\t42\t57\t54\t59\t62\t67\t58\t71\t59\t77\t82\t82\t64\t71\t88\t77\t79\t72\t73\t63\t49\t50\t3\t25\t0\t0\t0\t0\t1513,394\t1516,517\t1519,536\t1522,082\t1525,428\t1527,963\t1531,288\t1534,102\t1536,659\t1539,757\t1542,707\t1545,627\t1548,389\t1551,459\t1554,406\t1557,986\t1560,667\t1564,103\t1567,036\t1570,144\t1573,189\t1575,888\t1579,185\t1582,323\t1585,338\t35\t36\t32\t37\t57\t58\t61\t64\t75\t73\t70\t62\t61\t62\t59\t51\t52\t64\t58\t62\t70\t70\t64\t54\t55\t4\t25\t0\t0\t0\t0\t1512,658\t1515,752\t1518,797\t1521,707\t1524,744\t1527,627\t1530,871\t1534,002\t1537,086\t1540,320\t1543,217\t1546,010\t1548,660\t1551,385\t1554,253\t1557,074\t1560,193\t1563,116\t1566,043\t1568,963\t1571,855\t1574,957\t1577,954\t1581,128\t1584,273\t43\t42\t39\t40\t56\t50\t56\t62\t65\t54\t59\t62\t75\t79\t73\t63\t67\t77\t73\t75\t68\t62\t54\t51\t51\t100 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN'
len_message b'1685'
data b' 2020/03/06\t14:42:05\t318411\t4\t1\t25\t0\t0\t0\t0\t1513,094\t1516,156\t1519,154\t1521,969\t1525,029\t1527,813\t1530,921\t1533,869\t1536,740\t1539,943\t1542,921\t1545,879\t1548,843\t1551,849\t1554,760\t1557,943\t1560,782\t1563,931\t1566,786\t1569,751\t1572,690\t1575,535\t1578,638\t1581,755\t1584,759\t41\t39\t33\t39\t48\t44\t49\t55\t61\t58\t64\t55\t68\t74\t68\t59\t57\t74\t61\t68\t58\t64\t54\t47\t46\t2\t25\t0\t0\t0\t0\t1512,963\t1515,935\t1518,857\t1521,849\t1524,655\t1527,577\t1530,332\t1533,233\t1536,204\t1539,488\t1542,571\t1545,725\t1549,200\t1552,430\t1555,332\t1558,484\t1561,201\t1564,285\t1567,001\t1569,870\t1572,758\t1575,491\t1578,512\t1581,547\t1584,405\t48\t43\t37\t42\t57\t54\t59\t62\t67\t58\t71\t59\t77\t82\t82\t64\t71\t88\t77\t79\t72\t73\t63\t49\t50\t3\t25\t0\t0\t0\t0\t1513,394\t1516,517\t1519,536\t1522,082\t1525,428\t1527,963\t1531,288\t1534,102\t1536,659\t1539,757\t1542,707\t1545,627\t1548,389\t1551,459\t1554,406\t1557,986\t1560,667\t1564,103\t1567,036\t1570,144\t1573,189\t1575,888\t1579,185\t1582,323\t1585,338\t35\t36\t32\t37\t57\t58\t61\t64\t75\t73\t70\t62\t61\t62\t59\t51\t52\t64\t58\t62\t70\t70\t64\t54\t55\t4\t25\t0\t0\t0\t0\t1512,658\t1515,752\t1518,797\t1521,707\t1524,744\t1527,627\t1530,871\t1534,002\t1537,086\t1540,320\t1543,217\t1546,010\t1548,660\t1551,385\t1554,253\t1557,074\t1560,193\t1563,116\t1566,043\t1568,963\t1571,855\t1574,957\t1577,954\t1581,128\t1584,273\t43\t42\t39\t40\t56\t50\t56\t62\t65\t54\t59\t62\t75\t79\t73\t63\t67\t77\t73\t75\t68\t62\t54\t51\t51\t100 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN'
len_message b'1685'
data b' 2020/03/07\t14:42:05\t318411\t4\t1\t25\t0\t0\t0\t0\t1513,094\t1516,156\t1519,154\t1521,969\t1525,029\t1527,813\t1530,921\t1533,869\t1536,740\t1539,943\t1542,921\t1545,879\t1548,843\t1551,849\t1554,760\t1557,943\t1560,782\t1563,931\t1566,786\t1569,751\t1572,690\t1575,535\t1578,638\t1581,755\t1584,759\t41\t39\t33\t39\t48\t44\t49\t55\t61\t58\t64\t55\t68\t74\t68\t59\t57\t74\t61\t68\t58\t64\t54\t47\t46\t2\t25\t0\t0\t0\t0\t1512,963\t1515,935\t1518,857\t1521,849\t1524,655\t1527,577\t1530,332\t1533,233\t1536,204\t1539,488\t1542,571\t1545,725\t1549,200\t1552,430\t1555,332\t1558,484\t1561,201\t1564,285\t1567,001\t1569,870\t1572,758\t1575,491\t1578,512\t1581,547\t1584,405\t48\t43\t37\t42\t57\t54\t59\t62\t67\t58\t71\t59\t77\t82\t82\t64\t71\t88\t77\t79\t72\t73\t63\t49\t50\t3\t25\t0\t0\t0\t0\t1513,394\t1516,517\t1519,536\t1522,082\t1525,428\t1527,963\t1531,288\t1534,102\t1536,659\t1539,757\t1542,707\t1545,627\t1548,389\t1551,459\t1554,406\t1557,986\t1560,667\t1564,103\t1567,036\t1570,144\t1573,189\t1575,888\t1579,185\t1582,323\t1585,338\t35\t36\t32\t37\t57\t58\t61\t64\t75\t73\t70\t62\t61\t62\t59\t51\t52\t64\t58\t62\t70\t70\t64\t54\t55\t4\t25\t0\t0\t0\t0\t1512,658\t1515,752\t1518,797\t1521,707\t1524,744\t1527,627\t1530,871\t1534,002\t1537,086\t1540,320\t1543,217\t1546,010\t1548,660\t1551,385\t1554,253\t1557,074\t1560,193\t1563,116\t1566,043\t1568,963\t1571,855\t1574,957\t1577,954\t1581,128\t1584,273\t43\t42\t39\t40\t56\t50\t56\t62\t65\t54\t59\t62\t75\t79\t73\t63\t67\t77\t73\t75\t68\t62\t54\t51\t51\t100 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN'
len_message b'1685'
data b' 2020/03/08\t14:42:05\t318411\t4\t1\t25\t0\t0\t0\t0\t1513,094\t1516,156\t1519,154\t1521,969\t1525,029\t1527,813\t1530,921\t1533,869\t1536,740\t1539,943\t1542,921\t1545,879\t1548,843\t1551,849\t1554,760\t1557,943\t1560,782\t1563,931\t1566,786\t1569,751\t1572,690\t1575,535\t1578,638\t1581,755\t1584,759\t41\t39\t33\t39\t48\t44\t49\t55\t61\t58\t64\t55\t68\t74\t68\t59\t57\t74\t61\t68\t58\t64\t54\t47\t46\t2\t25\t0\t0\t0\t0\t1512,963\t1515,935\t1518,857\t1521,849\t1524,655\t1527,577\t1530,332\t1533,233\t1536,204\t1539,488\t1542,571\t1545,725\t1549,200\t1552,430\t1555,332\t1558,484\t1561,201\t1564,285\t1567,001\t1569,870\t1572,758\t1575,491\t1578,512\t1581,547\t1584,405\t48\t43\t37\t42\t57\t54\t59\t62\t67\t58\t71\t59\t77\t82\t82\t64\t71\t88\t77\t79\t72\t73\t63\t49\t50\t3\t25\t0\t0\t0\t0\t1513,394\t1516,517\t1519,536\t1522,082\t1525,428\t1527,963\t1531,288\t1534,102\t1536,659\t1539,757\t1542,707\t1545,627\t1548,389\t1551,459\t1554,406\t1557,986\t1560,667\t1564,103\t1567,036\t1570,144\t1573,189\t1575,888\t1579,185\t1582,323\t1585,338\t35\t36\t32\t37\t57\t58\t61\t64\t75\t73\t70\t62\t61\t62\t59\t51\t52\t64\t58\t62\t70\t70\t64\t54\t55\t4\t25\t0\t0\t0\t0\t1512,658\t1515,752\t1518,797\t1521,707\t1524,744\t1527,627\t1530,871\t1534,002\t1537,086\t1540,320\t1543,217\t1546,010\t1548,660\t1551,385\t1554,253\t1557,074\t1560,193\t1563,116\t1566,043\t1568,963\t1571,855\t1574,957\t1577,954\t1581,128\t1584,273\t43\t42\t39\t40\t56\t50\t56\t62\t65\t54\t59\t62\t75\t79\t73\t63\t67\t77\t73\t75\t68\t62\t54\t51\t51\t100 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN'
len_message b'1685'
data b' 2020/03/09\t14:42:05\t318411\t4\t1\t25\t0\t0\t0\t0\t1513,094\t1516,156\t1519,154\t1521,969\t1525,029\t1527,813\t1530,921\t1533,869\t1536,740\t1539,943\t1542,921\t1545,879\t1548,843\t1551,849\t1554,760\t1557,943\t1560,782\t1563,931\t1566,786\t1569,751\t1572,690\t1575,535\t1578,638\t1581,755\t1584,759\t41\t39\t33\t39\t48\t44\t49\t55\t61\t58\t64\t55\t68\t74\t68\t59\t57\t74\t61\t68\t58\t64\t54\t47\t46\t2\t25\t0\t0\t0\t0\t1512,963\t1515,935\t1518,857\t1521,849\t1524,655\t1527,577\t1530,332\t1533,233\t1536,204\t1539,488\t1542,571\t1545,725\t1549,200\t1552,430\t1555,332\t1558,484\t1561,201\t1564,285\t1567,001\t1569,870\t1572,758\t1575,491\t1578,512\t1581,547\t1584,405\t48\t43\t37\t42\t57\t54\t59\t62\t67\t58\t71\t59\t77\t82\t82\t64\t71\t88\t77\t79\t72\t73\t63\t49\t50\t3\t25\t0\t0\t0\t0\t1513,394\t1516,517\t1519,536\t1522,082\t1525,428\t1527,963\t1531,288\t1534,102\t1536,659\t1539,757\t1542,707\t1545,627\t1548,389\t1551,459\t1554,406\t1557,986\t1560,667\t1564,103\t1567,036\t1570,144\t1573,189\t1575,888\t1579,185\t1582,323\t1585,338\t35\t36\t32\t37\t57\t58\t61\t64\t75\t73\t70\t62\t61\t62\t59\t51\t52\t64\t58\t62\t70\t70\t64\t54\t55\t4\t25\t0\t0\t0\t0\t1512,658\t1515,752\t1518,797\t1521,707\t1524,744\t1527,627\t1530,871\t1534,002\t1537,086\t1540,320\t1543,217\t1546,010\t1548,660\t1551,385\t1554,253\t1557,074\t1560,193\t1563,116\t1566,043\t1568,963\t1571,855\t1574,957\t1577,954\t1581,128\t1584,273\t43\t42\t39\t40\t56\t50\t56\t62\t65\t54\t59\t62\t75\t79\t73\t63\t67\t77\t73\t75\t68\t62\t54\t51\t51\t100 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN'
len_message b'1685'
data b' 2020/03/10\t14:42:05\t318411\t4\t1\t25\t0\t0\t0\t0\t1513,094\t1516,156\t1519,154\t1521,969\t1525,029\t1527,813\t1530,921\t1533,869\t1536,740\t1539,943\t1542,921\t1545,879\t1548,843\t1551,849\t1554,760\t1557,943\t1560,782\t1563,931\t1566,786\t1569,751\t1572,690\t1575,535\t1578,638\t1581,755\t1584,759\t41\t39\t33\t39\t48\t44\t49\t55\t61\t58\t64\t55\t68\t74\t68\t59\t57\t74\t61\t68\t58\t64\t54\t47\t46\t2\t25\t0\t0\t0\t0\t1512,963\t1515,935\t1518,857\t1521,849\t1524,655\t1527,577\t1530,332\t1533,233\t1536,204\t1539,488\t1542,571\t1545,725\t1549,200\t1552,430\t1555,332\t1558,484\t1561,201\t1564,285\t1567,001\t1569,870\t1572,758\t1575,491\t1578,512\t1581,547\t1584,405\t48\t43\t37\t42\t57\t54\t59\t62\t67\t58\t71\t59\t77\t82\t82\t64\t71\t88\t77\t79\t72\t73\t63\t49\t50\t3\t25\t0\t0\t0\t0\t1513,394\t1516,517\t1519,536\t1522,082\t1525,428\t1527,963\t1531,288\t1534,102\t1536,659\t1539,757\t1542,707\t1545,627\t1548,389\t1551,459\t1554,406\t1557,986\t1560,667\t1564,103\t1567,036\t1570,144\t1573,189\t1575,888\t1579,185\t1582,323\t1585,338\t35\t36\t32\t37\t57\t58\t61\t64\t75\t73\t70\t62\t61\t62\t59\t51\t52\t64\t58\t62\t70\t70\t64\t54\t55\t4\t25\t0\t0\t0\t0\t1512,658\t1515,752\t1518,797\t1521,707\t1524,744\t1527,627\t1530,871\t1534,002\t1537,086\t1540,320\t1543,217\t1546,010\t1548,660\t1551,385\t1554,253\t1557,074\t1560,193\t1563,116\t1566,043\t1568,963\t1571,855\t1574,957\t1577,954\t1581,128\t1584,273\t43\t42\t39\t40\t56\t50\t56\t62\t65\t54\t59\t62\t75\t79\t73\t63\t67\t77\t73\t75\t68\t62\t54\t51\t51\t100 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN'
len_message b'1685'
data b' 2020/03/11\t14:42:05\t318411\t4\t1\t25\t0\t0\t0\t0\t1513,094\t1516,156\t1519,154\t1521,969\t1525,029\t1527,813\t1530,921\t1533,869\t1536,740\t1539,943\t1542,921\t1545,879\t1548,843\t1551,849\t1554,760\t1557,943\t1560,782\t1563,931\t1566,786\t1569,751\t1572,690\t1575,535\t1578,638\t1581,755\t1584,759\t41\t39\t33\t39\t48\t44\t49\t55\t61\t58\t64\t55\t68\t74\t68\t59\t57\t74\t61\t68\t58\t64\t54\t47\t46\t2\t25\t0\t0\t0\t0\t1512,963\t1515,935\t1518,857\t1521,849\t1524,655\t1527,577\t1530,332\t1533,233\t1536,204\t1539,488\t1542,571\t1545,725\t1549,200\t1552,430\t1555,332\t1558,484\t1561,201\t1564,285\t1567,001\t1569,870\t1572,758\t1575,491\t1578,512\t1581,547\t1584,405\t48\t43\t37\t42\t57\t54\t59\t62\t67\t58\t71\t59\t77\t82\t82\t64\t71\t88\t77\t79\t72\t73\t63\t49\t50\t3\t25\t0\t0\t0\t0\t1513,394\t1516,517\t1519,536\t1522,082\t1525,428\t1527,963\t1531,288\t1534,102\t1536,659\t1539,757\t1542,707\t1545,627\t1548,389\t1551,459\t1554,406\t1557,986\t1560,667\t1564,103\t1567,036\t1570,144\t1573,189\t1575,888\t1579,185\t1582,323\t1585,338\t35\t36\t32\t37\t57\t58\t61\t64\t75\t73\t70\t62\t61\t62\t59\t51\t52\t64\t58\t62\t70\t70\t64\t54\t55\t4\t25\t0\t0\t0\t0\t1512,658\t1515,752\t1518,797\t1521,707\t1524,744\t1527,627\t1530,871\t1534,002\t1537,086\t1540,320\t1543,217\t1546,010\t1548,660\t1551,385\t1554,253\t1557,074\t1560,193\t1563,116\t1566,043\t1568,963\t1571,855\t1574,957\t1577,954\t1581,128\t1584,273\t43\t42\t39\t40\t56\t50\t56\t62\t65\t54\t59\t62\t75\t79\t73\t63\t67\t77\t73\t75\t68\t62\t54\t51\t51\t100 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN'
len_message b'1685'
data b' 2020/03/12\t14:42:05\t318411\t4\t1\t25\t0\t0\t0\t0\t1513,094\t1516,156\t1519,154\t1521,969\t1525,029\t1527,813\t1530,921\t1533,869\t1536,740\t1539,943\t1542,921\t1545,879\t1548,843\t1551,849\t1554,760\t1557,943\t1560,782\t1563,931\t1566,786\t1569,751\t1572,690\t1575,535\t1578,638\t1581,755\t1584,759\t41\t39\t33\t39\t48\t44\t49\t55\t61\t58\t64\t55\t68\t74\t68\t59\t57\t74\t61\t68\t58\t64\t54\t47\t46\t2\t25\t0\t0\t0\t0\t1512,963\t1515,935\t1518,857\t1521,849\t1524,655\t1527,577\t1530,332\t1533,233\t1536,204\t1539,488\t1542,571\t1545,725\t1549,200\t1552,430\t1555,332\t1558,484\t1561,201\t1564,285\t1567,001\t1569,870\t1572,758\t1575,491\t1578,512\t1581,547\t1584,405\t48\t43\t37\t42\t57\t54\t59\t62\t67\t58\t71\t59\t77\t82\t82\t64\t71\t88\t77\t79\t72\t73\t63\t49\t50\t3\t25\t0\t0\t0\t0\t1513,394\t1516,517\t1519,536\t1522,082\t1525,428\t1527,963\t1531,288\t1534,102\t1536,659\t1539,757\t1542,707\t1545,627\t1548,389\t1551,459\t1554,406\t1557,986\t1560,667\t1564,103\t1567,036\t1570,144\t1573,189\t1575,888\t1579,185\t1582,323\t1585,338\t35\t36\t32\t37\t57\t58\t61\t64\t75\t73\t70\t62\t61\t62\t59\t51\t52\t64\t58\t62\t70\t70\t64\t54\t55\t4\t25\t0\t0\t0\t0\t1512,658\t1515,752\t1518,797\t1521,707\t1524,744\t1527,627\t1530,871\t1534,002\t1537,086\t1540,320\t1543,217\t1546,010\t1548,660\t1551,385\t1554,253\t1557,074\t1560,193\t1563,116\t1566,043\t1568,963\t1571,855\t1574,957\t1577,954\t1581,128\t1584,273\t43\t42\t39\t40\t56\t50\t56\t62\t65\t54\t59\t62\t75\t79\t73\t63\t67\t77\t73\t75\t68\t62\t54\t51\t51\t100 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN'
len_message b''
out of loop
okay enter *x 32 times*
Why is there a gap after 3 data blocks printed on the console? Why is the 'Calculating' print statement not printed and why is it first executing the first thread (receiving all data blocks) and then performing the calculations of the second thread?
I wanted both to happen simultaneously. I understand that the second thread takes more time but that is why I added the delay in sending the data to make sure by the time 10 data blocks each of 0.0002s are sent + 0.5s delay is added = 0.502s, by then the loop of the second thread should have executed 5 times.
How can I make sure that they are in parallel? Considering my server is going to be a hardware which will continuously send data blocks at a sampling rate of 100Hz and there will be no limit to the data blocks sent.
Threads run almost simultaneously. with threads, as soon as one starts the next thread starts. therefore there is a slight delay from the 1st to the 2nd.. etc if you're after real simultaneous processing you need to use your cores instead.

tfidf w2v giving NaN values

While using TFIDF Word2Vec giving NaN values on the review of Amazon fine foods dataset after sampling it to 100k data points I am getting NaN values in the sentence vector...
I tried almost everything with the code but am not getting real values..
After printing the sentence array this is the output I am getting -
[nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan]
[nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan]
[nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan]
[nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan]
[nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan].....
The code is as follows -
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
tfidf = TfidfVectorizer(ngram_range=(1,2), analyzer='word')
final_tfidf = tfidf.fit_transform(final_data['CleanedText'].values)
tfidf_feat = tfidf.get_feature_names()
tf_sent_vectors = []
row = 0
for sent in list_of_sent:
sent_vec = np.zeros(50) #initializiing the sent_vec
weighted_sum = 0 #initializing the weightedsum
for word in sent:
try:
vec = w2v_modelk.wv[word]
tf_idf = final_tfidf[row, tfidf_feat.index(word)]
sent_vec += (vec * tf_idf)
weighted_sum += tf_idf
except:
pass
sent_vec /= weighted_sum
print(sent_vec)
row += 1
Any kind of help will be appreciated !!
Here According to your code tf-idf features may be like {'hi','jik','this by' etc} .
Because of uni grams and bi grams.so till here it ok
But the critical section is
"for word in sentence:"
For suppose if the sentence=["This is good"]
so tf-idf feaures be {'This','is','good','This is','is good'}
Now line in code
for word in sentence:
we get output as{'T','h','i','s', and so no } we get single characters
so as these single characters might not be in tf-idf and might not be in w2vec model
i.e The correction would be for word in sentence.split(" "):

How can I refer to a column with a number as its name in a pandas dataframe?

I created a square dataframe in which the columns' names are its indices. See below for an example:
matrix
Out[75]:
24787 24798 24799 24789 24790 24791 24793 24797 24794 24796 24795 24788
24787 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
24798 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
24799 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
24789 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
24790 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
24791 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
...
I want to refer to each column, but matrix['24787'] returns KeyError: '24787' and matrix.24787 returns SyntaxError: invalid syntax. How do I refer to my column?
If the column names are integers (not strings), you can select a specific column with the specific integer value:
matrix[24787]
or, using the loc label selector,
matrix.loc[:, 24787]
If you want to select by index number, you can use iloc. For example, matrix.iloc[:, 0] selects the first column.

Categories

Resources