def sort_data_by_duration(self, partition): """ Sort the training or validation sets by (increasing) duration """ if partition == 'train': self.train_audio_paths, self.train_durations, self.train_texts = sort_data( self.train_audio_paths, self.train_durations, self.train_texts) elif partition == 'valid': self.valid_audio_paths, self.valid_durations, self.valid_texts = sort_data( self.valid_audio_paths, self.valid_durations, self.valid_texts) else: raise Exception("Invalid partition. " "Must be train/validation")
def run(self): """ Main function to run program :return: """ while True: # load data to memory if not self.all_data: tmp_data = [] with open(self.filename, 'r') as f: for line in f: data = line.strip().split(',') if validate(data[1]): tmp_data.append([data[0], validate(data[1]), 0]) self.all_data = sort_data(tmp_data) print('''Greetings user! Let's make an addressbook! Would you like to: 1.) Add a New Contact 2.) List All Contacts 3.) Search Contacts 4.) Delete A Contact 5.) Make Call 6.) List top 5 Call 7.) Quit Program\n''') choice = input("Select an option: ") if choice == "1": try: self.create_contact() except NotAPhoneNumberException: print("The phone number entered is invalid, creation aborted!") elif choice == "2": self.list_all_contact() elif choice == "3": self.search_contact() elif choice == "4": self.delete_contact() elif choice == "5": self.make_call() elif choice == "6": self.list_top_contact() elif choice == "7": print("Ending Contact Book.\nHave a nice day!") break else: print("Invalid Input! Try again.")
def group_by_parameter(aggregate_function, data): """ Returns dictionary with grouped data :param aggregate_function: function providing key parameter :param data: data to group :return: grouped data """ def instantiate_list(group_tuple): k, v = group_tuple return k, list(v) return dict(map(instantiate_list, groupby(sort_data(aggregate_function, data), key=aggregate_function)))
def list_top_contact(self): """ Function list top 5 contact :return: list of top 5 contacts """ print('-------------------------------------------------------------------------') print_contact({'name': 'NAME', 'phone': 'PHONE', 'outgoing': 'OUTGOING CALL'}, top=True) print('-------------------------------------------------------------------------') for item in sort_data(self.all_data, 2)[:5]: print_contact({'name': item[0], 'phone': item[1], 'outgoing': item[2]}, top=True) print('-------------------------------------------------------------------------')
def algo(context): date_now = context.now.strftime('%Y-%m-%d') date_previous = get_trading_date_from_now(date_now, -1, ql.Days) # 前一个交易日,用于获取因子数据的日期 if date_now not in trading_date_list: # 非调仓日 pass # 预留非调仓日的微调空间 else: # 调仓日执行算法 print(date_now + '日回测程序执行中...') try: code_list = list_gm2wind( list( get_history_constituents( INDEX, start_date=date_previous, end_date=date_previous)[0]['constituents'].keys())) except IndexError: code_list = w.wset("sectorconstituent", "date=" + date_previous + ";windcode=" + INDEX).Data[1] I = trading_date_list.index(date_now) trading_dates = trading_date_list[I - HISTORY_LENGTH:I + 1] data_dfs = [] for i in range(len(trading_dates) - 1): date_start = get_trading_date_from_now( trading_dates[i], -1, ql.Days) # 计算因子值的日子,买入前一日的因子值 date_end = get_trading_date_from_now(trading_dates[i + 1], -1, ql.Days) # 计算收益率到期的日子-收盘 factors_df = get_factor_from_wind(code_list, FACTOR_LIST, date_start) # 获取因子 return_df = get_return_from_wind(code_list, date_start, date_end) factors_df_and_return_df = pd.concat( [factors_df, return_df], axis=1).dropna() # 去掉因子或者回报有空缺值的样本 factors_df_and_return_df = sort_data( factors_df_and_return_df) # 使用排序数据作为输入 data_dfs.append(factors_df_and_return_df) factors_return_df = pd.concat(data_dfs, axis=0) # 获取的最终训练数据拼接,return为目标 # 根据data_df训练模型 model = OrdinaryLinearRegression() model.fit(factors_return_df) # 根据factor_date_previous选取股票 factor_date_previous_df = get_factor_from_wind(code_list, FACTOR_LIST, date_previous).dropna() sorted_codes = model.predict( factor_date_previous_df) # 获取预测收益率从小到大排序的股票列表 sorted_codes = list_wind2jq(sorted_codes) # 根据股票列表下单 stock_codes = sorted_codes[-STOCK_NUMBER:] stock_now = {} for stock_code in stock_codes: # 平均持仓持股 stock_now[stock_code] = 1. / STOCK_NUMBER stock_dict[date_now] = stock_now
def create_contact(self): """ Function to create a contact :return: none """ name = input("Enter name: ") phone = input("Enter phone number: ") if not validate(str(phone)): raise NotAPhoneNumberException self.all_data.append([name, validate(phone), 0]) self.all_data = sort_data(self.all_data)
def delete_contact(self): """ Function to delete contact :return: none """ search = input("Please enter name or number: ") new_data = [] for item in self.all_data: if not fnmatch.fnmatch(str.lower(item[0]), '*{}*'.format(str.lower(search))) or fnmatch.fnmatch( item[1], '*{}*'.format(search)): new_data.append([item[0], item[1], item[2]]) self.all_data = sort_data(new_data) return print("The contact was successfully deleted\n")
def get_data(): res = utils.get_data() return utils.sort_data(res)
#last one hour time in epoch format frm = utils.get_date(date=now, th=12) #get query for reconnected device=['Device_IPv4','Device_IPv6'] avg=[] node_avg=[] node_based_avg={} files=[] for ip in device: query = utils.get_query(frm=frm,to=to, ip=ip) #Get data from elasticsearch result = utils.get_details(index="prod_push_cep-*", body=query) #fetch details and store it in list result = utils.fetch_hits(result=result, ip=ip) data=utils.sort_data(result) # x=utils.sort_node_based(data) #print x filename='/var/www/html/Report/'+ ip + '_'+datetime.now().strftime("%Y%m%d-%H%M")+'.csv' header1=["UAID","IP","Host"] temp=1 for v in data.itervalues(): if len(v) > temp: temp=len(v) for i in range(temp): header1.extend(["Diff"]) utils.convert_csv(data=data, header=header1,filename=filename) utils.sort_csv(filename=filename)