def parallel_coordinate_plot(filename): data = csv_reader.readcsv(filename) npdata = np.array(data["data"]) def plot_data_point(datapoint): plt.plot(range(len(datapoint)), datapoint) print(f"data len: {npdata.shape[0]}") section_str = input( "Choose a section 'start:stop:step' ex: 10:100:10 (empty -> entire data)\n" ) if not section_str: d = npdata else: section = list(map(lambda n: int(n), section_str.split(':'))) d = npdata[slice(section[0], section[1], section[2])] labels = list(map(lambda c: c['name'], data['columns'])) selection = prompt.choose("Choose parametes", labels) labels = list(map(lambda idx: labels[idx], selection)) print(labels) for point_index in range(d.shape[0]): datapoint = list(map(lambda idx: d[point_index, :][idx], selection)) plot_data_point(datapoint) plt.title("parallel coordinate plot") plt.xticks(range(len(labels)), labels=labels) plt.show()
def entrypoint(filename): data = csv_reader.readcsv(filename) mpg = get_col_data(data, 1) hp = get_col_data(data, 4) # remove uncomplete data remove_list = list() for i in range(len(mpg)): if mpg[i] == 0: remove_list.append(i) for i in range(len(hp)): if hp[i] == 0: remove_list.append(i) remove_list.sort() remove_list.reverse() for i in remove_list: del mpg[i] del hp[i] popt, _ = curve_fit(objective, mpg, hp) a, b, c = popt plt.scatter(mpg, hp) x_line = arange(min(mpg), max(mpg), 1) y_line = objective(x_line, a, b, c) plt.xlim([10,40]) plt.plot(x_line, y_line, '--', color='red') plt.show()
def main(): csv_writer.csvwirte() filename = r"test.csv" title = ("Name", "Count") csv_reader.readcsv(filename, title)
#access to current and super-level modules import sys import os subdir = os.path.dirname(__file__) sys.path.append(subdir) sys.path.append(os.path.abspath(os.path.join(subdir, os.pardir))) from csv_reader import readcsv from mysql import database input = readcsv('/Users/Zhe/Desktop/grammer/csvtrial.csv')
''' index_convertor = lambda a: (int(a[0:-2]), int(a[-2:])) type_convertor = lambda num: 'type%s' % (num) lis = lis[1:] #get rid of header result = [] for row in lis: id, val = row[0], row[1:] serial_no, question_no = index_convertor(id) types = option_convert(val) key = ['serial_no', 'question_no'] key_type = map(type_convertor, types) key += key_type value = [serial_no, question_no] + [ 1, ] * len(types) value = map(str, value) atom = (key, value) result.append(atom) return result filename = '/Users/Zhe/Desktop/grammer/bank_trial.csv' input_data = readcsv(filename) data = process_input_data(input_data) mydb = database('test') mydb.simple_insert('grammer_bank', data)
def plot_data_point(datapoint): plt.plot(range(len(datapoint)), datapoint) print(f"data len: {npdata.shape[0]}") section_str = input( "Choose a section 'start:stop:step' ex: 10:100:10 (empty -> entire data)\n" ) if not section_str: d = npdata else: section = list(map(lambda n: int(n), section_str.split(':'))) d = npdata[slice(section[0], section[1], section[2])] labels = list(map(lambda c: c['name'], data['columns'])) selection = prompt.choose("Choose parametes", labels) labels = list(map(lambda idx: labels[idx], selection)) print(labels) for point_index in range(d.shape[0]): datapoint = list(map(lambda idx: d[point_index, :][idx], selection)) plot_data_point(datapoint) plt.title("parallel coordinate plot") plt.xticks(range(len(labels)), labels=labels) plt.show() if __name__ == '__main__': data = csv_reader.readcsv('datasets/cars.csv') parallel_coordinate_plot(data)
questions = questions.split(',') name = '\"%s\"'%name date = '\"%s\"'%date quesitons = map(str,map(int,questions)) #reduce to most simple int format for question in questions: result.append([name,date,serial_no,question]) return result filename = '/Users/Zhe/Desktop/grammer/record_trial.csv' input_data = readcsv(filename) #print input_data data = process_input_data(input_data) print data mydb = database('test') cols = ['student_name','record_date', 'serial_no', 'question_no'] mydb.simple_insert('grammer_record',cols, data )