Skip to content

Instantly share code, notes, and snippets.

@codeboy5
Created June 21, 2019 04:12
Show Gist options
  • Save codeboy5/89c18d1d4745e1dc32eae5d88e21f872 to your computer and use it in GitHub Desktop.
Save codeboy5/89c18d1d4745e1dc32eae5d88e21f872 to your computer and use it in GitHub Desktop.
Get The Mean RSSI Values
import numpy as np
import pandas as pd
import csv
import operator
import collections
df = pd.read_csv("data/52Wifi.csv")
name = df["Name"].values
BSSID = df["BSSID"].values
RSSI = df["RSSI"].values
# used = np.ones(3617,dtype=int)
n = len(BSSID)
answer = dict()
means = dict()
frequencyMeans = dict()
for i in range(n):
if(BSSID[i] in answer):
answer[BSSID[i]] = np.append(answer[BSSID[i]], RSSI[i])
else:
answer[BSSID[i]] = np.array([RSSI[i]])
for x, y in answer.items():
if(not(x in means)):
means[x] = y.mean()
for x, y in answer.items():
if(not(x in frequencyMeans)):
frequencyMeans[x] = len(y)
sorted_frequency = sorted(frequencyMeans.items(), key=operator.itemgetter(1))
sorted_dict = collections.OrderedDict(sorted_frequency)
# sorted_dict = reversed(sorted_dict)
times = 0
coordinate = "5,2"
for key in reversed(sorted_dict.keys()):
if(times > 9):
break
row = [coordinate, key, means[key]]
with open("outputData/52Wifi.csv", 'a') as csvFile:
writer = csv.writer(csvFile)
writer.writerow(row)
times += 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment