--- a +++ b/src/Classification/JSON-to-Pandas.ipynb @@ -0,0 +1 @@ +{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"JSON-to-Pandas.ipynb","provenance":[]},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"nRnmIxOCXC2K","executionInfo":{"status":"ok","timestamp":1639832363351,"user_tz":300,"elapsed":16214,"user":{"displayName":"Neil Kennedy","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10401538321009628157"}},"outputId":"63e156ae-8e0d-41e8-905b-43bfe28ee4a6"},"outputs":[{"output_type":"stream","name":"stdout","text":["Mounted at /content/drive\n"]}],"source":["from google.colab import drive\n","\n","# The following command will prompt a URL for you to click and obtain the\n","# authorization code\n","\n","drive.mount(\"/content/drive\")"]},{"cell_type":"code","source":["data_path=\"/content/drive/MyDrive/Project/Dataset/jsonOut3/\"\n","#Make sure you copy shared 'Project' folder to your drive account"],"metadata":{"id":"Ou8PzlcSXNLQ"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["# with open(data_path+os.listdir(data_path)[300]) as f:\n","# data = json.load(f)\n","# data['data']['emg1'][:50]"],"metadata":{"id":"zfI2yZgpl8-2"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["import json\n","import os\n","# import pandas as pd\n","import numpy as np\n","# df=pd.DataFrame()\n","count=0\n","dataset=[]\n","for filename in os.listdir(data_path)[:100:10]:\n"," with open(data_path+filename) as f:\n"," data = json.load(f)\n"," # df=df.append(pd.json_normalize(data))\n"," li=[]\n"," for i in list(data['data'].keys()):\n"," npdata=np.array(data['data'][i])\n"," li.append(np.pad(npdata,(0,256000-len(npdata)),'constant')) #some windows smaller than 256000\n"," ar=np.array(li)\n"," dataset.append(ar)\n"," count+=1\n"," if(count%10==0):\n"," print(count)\n","dataset1=np.array(dataset)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"tcoUABiFXRI5","executionInfo":{"status":"ok","timestamp":1639836907084,"user_tz":300,"elapsed":11485,"user":{"displayName":"Neil Kennedy","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10401538321009628157"}},"outputId":"ea843960-5524-4021-8a70-6d3c8e522d58"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["10\n"]}]},{"cell_type":"code","source":["dataset1"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"MSC1TfXo21H0","executionInfo":{"status":"ok","timestamp":1639836921929,"user_tz":300,"elapsed":3,"user":{"displayName":"Neil Kennedy","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10401538321009628157"}},"outputId":"cbc0c4b2-65c7-4ea2-adf5-9d0fd3a2a1f1"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[[ -1., 7., 23., ..., -18., -17., -16.],\n"," [ -2., 5., 22., ..., -19., -18., -17.],\n"," [ 0., 5., 19., ..., -17., -17., -16.],\n"," ...,\n"," [ 0., 4., 9., ..., -14., -13., -14.],\n"," [ 4., 8., 13., ..., -12., -12., -12.],\n"," [ 2., 6., 14., ..., -15., -14., -13.]],\n","\n"," [[ -1., 7., 23., ..., -18., -17., -16.],\n"," [ -2., 5., 22., ..., -19., -18., -17.],\n"," [ 0., 5., 19., ..., -17., -17., -16.],\n"," ...,\n"," [ 0., 4., 9., ..., -14., -13., -14.],\n"," [ 4., 8., 13., ..., -12., -12., -12.],\n"," [ 2., 6., 14., ..., -15., -14., -13.]],\n","\n"," [[ -1., 7., 23., ..., -18., -17., -16.],\n"," [ -2., 5., 22., ..., -19., -18., -17.],\n"," [ 0., 5., 19., ..., -17., -17., -16.],\n"," ...,\n"," [ 0., 4., 9., ..., -14., -13., -14.],\n"," [ 4., 8., 13., ..., -12., -12., -12.],\n"," [ 2., 6., 14., ..., -15., -14., -13.]],\n","\n"," ...,\n","\n"," [[ 2., 4., 5., ..., 0., 0., 0.],\n"," [ 3., 5., 6., ..., 0., 0., 0.],\n"," [ 6., 8., 10., ..., 0., 0., 0.],\n"," ...,\n"," [ 8., 10., 10., ..., 0., 0., 0.],\n"," [ 7., 8., 9., ..., 0., 0., 0.],\n"," [ 9., 11., 12., ..., 0., 0., 0.]],\n","\n"," [[ -2., 0., 1., ..., 0., 0., 0.],\n"," [ -6., -5., -5., ..., 0., 0., 0.],\n"," [ -9., -8., -6., ..., 0., 0., 0.],\n"," ...,\n"," [ -3., -3., -1., ..., 0., 0., 0.],\n"," [ -5., -4., -2., ..., 0., 0., 0.],\n"," [ -4., -4., -2., ..., 0., 0., 0.]],\n","\n"," [[ 27., 28., 27., ..., 0., 0., 0.],\n"," [-14., -13., -14., ..., 0., 0., 0.],\n"," [-12., -11., -11., ..., 0., 0., 0.],\n"," ...,\n"," [ -8., -7., -8., ..., 0., 0., 0.],\n"," [-11., -10., -10., ..., 0., 0., 0.],\n"," [ -8., -7., -7., ..., 0., 0., 0.]]])"]},"metadata":{},"execution_count":128}]},{"cell_type":"code","source":[""],"metadata":{"id":"6nU8reEW5fwg"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["#save df\n","np.savetxt(\"/content/drive/MyDrive/Project/json3_np.csv\", dataset, delimiter=',')"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":362},"id":"13JM5omrXjs2","executionInfo":{"status":"error","timestamp":1639835844993,"user_tz":300,"elapsed":169,"user":{"displayName":"Neil Kennedy","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10401538321009628157"}},"outputId":"d13686e1-6cd6-4aaa-f7e2-3982d613d8b9"},"execution_count":null,"outputs":[{"output_type":"error","ename":"ValueError","evalue":"ignored","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)","\u001b[0;32m<ipython-input-109-097b4b5a275a>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m#save df\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msavetxt\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"/content/drive/MyDrive/Project/json3_np.csv\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdataset\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdelimiter\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m','\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m","\u001b[0;32m<__array_function__ internals>\u001b[0m in \u001b[0;36msavetxt\u001b[0;34m(*args, **kwargs)\u001b[0m\n","\u001b[0;32m/usr/local/lib/python3.7/dist-packages/numpy/lib/npyio.py\u001b[0m in \u001b[0;36msavetxt\u001b[0;34m(fname, X, fmt, delimiter, newline, header, footer, comments, encoding)\u001b[0m\n\u001b[1;32m 1370\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m0\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1371\u001b[0m raise ValueError(\n\u001b[0;32m-> 1372\u001b[0;31m \"Expected 1D or 2D array, got %dD array instead\" % X.ndim)\n\u001b[0m\u001b[1;32m 1373\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1374\u001b[0m \u001b[0;31m# Common case -- 1d array of numbers\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;31mValueError\u001b[0m: Expected 1D or 2D array, got 3D array instead"]}]},{"cell_type":"code","source":["#Visualize data for emg1, window 1\n","data = df.iloc[1]['data.emg1']\n","import matplotlib.pyplot as plt\n","plt.plot(data[::10])\n","plt.show()"],"metadata":{"id":"9gZ_ykleXbth"},"execution_count":null,"outputs":[]}]} \ No newline at end of file