摘要:
Step1: Exploratory Data Analysis EDA,也就是对数据进行探索性的分析,一般就用到pandas和matplotlib就够了。EDA一般包括: 每个feature的意义,feature的类型,比较有用的代码如下 df.describe() df['Category']. 阅读全文
摘要:
Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数。 count()、cycle()、repeat() 首先,我们看看itertools提供的几个“无限”迭代器: 因为count()会创建一个无限的迭代器,所以上述代码会打印出自然数序列,根本停不下来,只能按Ctrl+C退 阅读全文
摘要:
collections是Python内建的一个集合模块,提供了许多有用的集合类。 1. namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: >>> p = (1, 2) 但是,看到(1, 2),很难看出这个tuple是用来表示一个坐标的。 定义一个clas 阅读全文
摘要:
一、链表 双指针”法解决链表问题 背景:单链表问题由于顺序遍历的特性,有时候执行一些操作的时候会出现问题看似需要多次遍历才能获取数据。 使用双指针法能在一次遍历中获取更多的数据,也可以节约更多的额外控件。“双指针”就是用一个快指针一个慢指针同时进行单链表的顺序扫描。 如此就可以使用快指针的时间差给慢 阅读全文
摘要:
查找效率:set>dict>list 单次查询中: set做了去重,本质应该一颗红黑树 (猜测,STL就是红黑树),复杂度 O(logn); dict类似对key进行了hash,然后再对hash生成一个红黑树进行查找, 其查找复杂其实是O(logn),并不是所谓的O(1)。 O(1)只是理想的实现, 阅读全文