pivot

MySQL GroupBy and Shows it horizontally

旧时模样 提交于 2020-08-27 09:11:07
问题 Supposed that I have table below: 1) tblScore ============================ Date VendorID Score ============================ 12/09/01 12001 A 12/09/01 12001 A 12/09/01 12002 B 12/09/02 12003 C 12/09/02 12003 A 12/09/03 12001 C ============================ I have this query: SELECT ts.VendorID, ts.Score, COUNT(*) FROM trxscore ts GROUP BY ts.VendorID, ts.Score ORDER BY ts.VendorID, ts.Score But how to show the table like: =========================== VendorID A B C ===========================

学习Python,像Excel一样使用pandas

这一生的挚爱 提交于 2020-08-20 07:46:07
学习更多,欢迎关注微信公众号:Excel办公小技巧 一直以来,Excel一直作为一个高效的数据展示、处理、分析的工具被我们使用,但随着处理量增大,不可避免的遇到长时间等待响应或干脆“未响应 ”。因此,我们需要找到替代工具来避免此类问题,Python中的pandas是如何像Excel一样处理数据呢。 先构造示例数据(python3): import pandas as pd data=pd.DataFrame([{2,5,6,7,8},(2,5,6,7,8),[12,31,4,5,6],range(11,111,20),range(9,23,3)], columns=['col_a','col_b','col_c','col_d','col_e'], index=['row_1','row_2','row_3','row_4','row_5']) 一、数据筛选、替换 1.1 数据筛选 我们通常使用去除重复项功能,目的就在于此,pandas中使用drop_duplicates函数实现,参数默认情况下是保留重复值中的一个,或者keep='first'。 print(data[data['col_a']>2])#或者 print(data[data.loc[:,'col_a']>2]) 可以看到,col_a列数值大于2的数据已经被筛选出来了。 1.2 数据替换 1.2.1 一对一替换

整理:iOS开发算法资料

℡╲_俬逩灬. 提交于 2020-08-19 22:06:48
关于算法的想法 由于面试可能需要手写算法,网上搜罗了一些资料,整理了下算法的OC的实现代码,虽然平时开发中一般用不到,但是多积累一些技术知识,还是对以后发展大有裨益的 github上搜集的几大算法原理和实现代码,只有JavaScript、Python、Go、Java的实现代码 算法文字理解和OC代码实现 1. 冒泡排序算法(Bubble Sort) 相邻元素进行比较,按照升序或者降序,交换两个相邻元素的位置 是一种“稳定排序算法” 1.1 网上文字理论 是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 作为最简单的排序算法之一,冒泡排序给我的感觉就像 Abandon 在单词书里出现的感觉一样,每次都在第一页第一位,所以最熟悉。冒泡排序还有一种优化算法,就是立一个 flag,当在一趟序列遍历中元素没有发生交换,则证明该序列已经有序。但这种改进对于提升性能来说并没有什么太大作用。 1.2 算法步骤 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤

面试刷题必看!Python中的5大排序算法及其实现代码

安稳与你 提交于 2020-08-17 08:12:32
排序是每个 IT 工程师和开发人员必备的知识技能。不仅要通过编程面试,而且要了解算法本身。不同的排序算法很好地展示了算法设计如何对程序的复杂性、速度和效率产生如此大的影响。 让我们来看看排名前5,也是最常见,面试中经常被问到的排序算法,看看如何用Python实现它们! 1.冒泡排序 冒泡排序是 CS 入门课程中最常讲授的一种,因为它清楚地说明了排序的工作原理,同时又简单又易于理解。冒泡排序将逐步遍历列表并比较相邻的元素对。如果元素的顺序错误,则会交换这些元素。重复对列表中未排序部分的遍历,直到对列表进行排序。因为冒泡排序重复地通过列表中未排序的部分,所以它的最坏情况复杂性为O(n²)。 def bubble_sort(arr): def swap(i, j): arr[i], arr[j] = arr[j], arr[i] n = len(arr) swapped = True x = -1 while swapped: swapped = False x = x + 1 for i in range(1, n-x): if arr[i - 1] > arr[i]: swap(i - 1, i) swapped = True return arr 2.选择排序 选择排序也相当简单,优于冒泡排序。如果你要在这两者之间进行选择,那么最好使用默认的“右选择排序”。使用选择排序

什么让python-pandas与excel彻底拉开了距离

天涯浪子 提交于 2020-08-14 17:59:16
现代办公室里几乎任何一项工作都会用到Excel,每打开一个job deion,我们都会看到一句“要求掌握Excel”。对于程序员来说最好用的数据分析一定是Python中最常用的数据分析包Pandas了。 初识Pandas Pandas是一个Python的核心数据分析支持库,它提供了强大的 一维数组和二维数组 处理能力,其非常擅长与处理二维表结构,带行列标签的矩阵数据,时间序列数据。Pandas提供的两个主要数据结构一维数组(Series)和二维数组(DataFrame)强力的支撑着当今金融、统计、社会科学、工程等诸多领域的数据分析工作。通过Pandas我们可以方便的操作数据的增、查、改、删、合并、重塑、分组、统计分析,此外Pandas还提供了非常成熟的 I/O 工具,用于读取文本文件,excel文件,数据库等不同来源数据,利用超快的 HDF5 格式保存/加载数据。 还有非常重要的一点,pandas是 完全免费的开源软件 ,而且还 不受操作系统的限制 ——在Windows和MacOS上都能跑的溜溜的。 Pandas到底强在哪里? 1、Pandas很快,Pandas是基于numpy开发的,此外Pandas的很多底层算法都经过Cython优化。 2、强大的包容性,利用Pandas可以将Python或Numpy里不规则的数据结构,轻松转换为DataFrame。 3、灵活、直观的数据处理能力