自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

泛泛之素

无他、唯手熟尔

  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

原创 python数据可视化:使用Dash进行交互式可视化

Dash上一篇介绍的是Bokeh,是一个交互式的可视化工具,Dash同样也是一个优秀的交互式可视化工具,基于plotly,个人感觉Dash比Bokeh更好用,下面是我用Dash写的一个分析报告:链接在这,感兴趣可以看一下,就是加载需要点时间:https://dash-da-hr.herokuapp.com/整体:细节:图一:图二:小例子:代码如下:import pandas...

2019-01-04 15:32:36 26858 20

原创 增长黑客(Growth Hacking)(十)

2019-01-31 14:15:04 1505

原创 《疯狂java讲义》学习(30):Queue集合

Queue集合Queue用于模拟队列这种数据结构,队列通常是“先进先出”(FIFO)的容器。队列的头部保存在队列中存放时间最短的元素。新元素插入(offer)到队列尾部,访问元素(poll)操作会返回队列头部的元素。通常,队列不允许随机访问队列中的元素。Queue接口中定义了如下几个方法:void add(Object e):将指定元素加入此队列的尾部。Object element():...

2019-01-31 12:12:40 560

原创 增长黑客(Growth Hacking)(九)

2019-01-30 13:57:38 1466

原创 《疯狂java讲义》学习(29):List集合

List集合List集合代表一个元素有序、可重复的集合,集合中每个元素都有其对应的顺序索引。List集合允许使用重复元素,可以通过索引来访问指定位置的集合元素。List集合默认按元素的添加顺序设置元素的索引,例如第一次添加的元素索引为0,第二次添加的元素索引为1……List接口和ListIterator接口List作为Collection接口的子接口,当然可以使用Collection接口里的...

2019-01-30 10:24:28 644

原创 《疯狂java讲义》学习(28):Set集合

Set集合Set集合与Collection基本上完全一样,它没有提供任何额外的方法。实际上Set就是Collection,只是行为略有不同(Set不允许包含重复元素)。Set集合不允许包含相同的元素,如果试图把两个相同的元素加入同一个Set集合中,则添加操作失败,add方法返回false,且新元素不会被加入。Set判断两个对象相同使用equals方法。也就是说,只要两个对象使用equals方...

2019-01-29 11:23:45 705

原创 《疯狂java讲义》学习(27):Collection和Iterator接口

Java集合概述在编程时,常常需要集中存放多个数据。我们可以使用数组来保存多个对象,但数组长度不可变化,如果需要保存数量变化的数据,数组就有点无能为力了;而且数组无法保存具有映射关系的数据,如成绩表:语文—79,数学—80,这种数据看上去像两个数组,但这两个数组的元素之间有一定的关联关系。为了保存数量不确定的数据,以及保存具有映射关系的数据(也被称为关联数组),Java提供了集合类。集合类主要...

2019-01-28 11:18:46 571

原创 《疯狂java讲义》学习(26):国际化与格式化

国际化与格式化全球化的Internet需要全球化的软件。全球化软件,以为着同一种版本的产品能够容易地适用于不同地区的市场,软件的全球化意味着国际化和本地化。国际化的英文是Internationalization,因为这个单侧太长,有时也简称为I18N,一个国际化很好的语言在不同区域使用时,会呈现出本地语言的提示。这个过程称为Localization,即本地化,可简称为L10N。Java国际化...

2019-01-27 13:23:24 566

原创 《疯狂java讲义》学习(25):正则表达式

正则表达式正则表达式是强大的字符串处理工具,可以对字符串进行查找、提取、分割、替换等操作。String类里也提供了几个特殊的方法:boolean matches(String regex):判断该字符串是否匹配指定的正则表达式。String replaceAll(String regex, String replacement):将该字符串中所有匹配regex的子串替换成replaceme...

2019-01-26 12:58:38 1003 4

原创 《疯狂java讲义》学习(24):处理日期的类

处理日期的类Java还提供了一系列用于处理日期、时间的类,包括创建日期、时间对向,获取系统当前日期、时间等操作。Date类Java提供了Date类来处理日期、时间(指java.util.Date包),Date对象既包含日期,也包含时间。Date类历史悠久,所以它的大部分构造器、方法都已经过时,不再推荐使用了。Date类提供了6个构造器,其中4个已经Deprecated(java不再推荐使用...

2019-01-25 11:32:00 541

原创 爬虫:爬取某如长租公寓数据

某如的数据爬取策略其实跟某壳的差不多,就不多说了,可以看看那篇:https://blog.csdn.net/tonydz0523/article/details/86631664爬虫策略某如的数据爬取策略其实跟某壳的差不多,就不多说了,可以看看那篇:https://blog.csdn.net/tonydz0523/article/details/86631664某如的价格是图片格式,不能正常...

2019-01-24 20:35:48 4109

原创 爬虫:爬取某壳长租公寓数据

长租公寓算是国内正在规范化的一个产业,其中比较正规的比较大的有某如、某壳,想要对长租公寓行业做一些简单的数据分析,于是乎爬虫搞起来,柿子挑软的捏:从某壳下手。爬虫策略说实话,某壳的数据挺好爬的,没有比较变态的反爬措施(某如有:价格是图片,不过也好解决,下一篇写哈),只要不是频繁请求的话应该就没事儿(我都是sleep1秒以上的,反正就爬一次而已),本人不支持暴力爬取,动不动就多线程、多进程、代理...

2019-01-24 19:40:04 44808

原创 增长黑客(Growth Hacking)(八)

2019-01-24 17:34:23 1540

原创 《疯狂java讲义》学习(23):常用类

常用类Java提供少了一些经常使用的类,如String、Math、BigDecimal等用法Object类Object类是所有类、数组、枚举类的父类,也就是说,Java允许把任何类型的对象赋给Object类型的变量。当定义一个类时没有使用extends关键字为它显示指定父类,则该类默认继承Object父类。因为所有的Java类都是Object类的子类,所以任何Java对象都可以调用Obje...

2019-01-24 12:01:51 649

原创 增长黑客(Growth Hacking)(七)

2019-01-23 14:41:32 1752

原创 《疯狂java讲义》学习(22):系统相关操作

系统相关Java程序在不同操作系统上运行时,可能需要取得平台相关属性,或者调用平台命令来完成特定功能。Java提供了System类和Runtime类来与程序的运行平台进行交互。System类System类代表当前Java程序的运行平台,程序不能创建System类的对象,System类提供了一些类Field和类方法,允许直接通过System类来调用这些Field和方法。System类提供了代...

2019-01-23 10:37:54 772

原创 《疯狂java讲义》学习(21):与用户互动

与用户互动如果一个程序总是按既定的流程运行,无需处理用户动作,这个程序总是比较简单的。实际上,绝大部分程序都需要处理用户动作,包括接受用户的键盘输入、鼠标动作等。因为现在还未涉及图像用户接口(GUI)编程,这里讲述程序如何获得用户的键盘输入。运行Java程序的参数会议Java程序的入门——main方法的方法签名:// Java程序入口: main方法public static void ...

2019-01-22 13:25:16 673

原创 《疯狂java讲义》学习(20):对象与垃圾回收

对象与垃圾回收Java的垃圾回收是Java语言的重要功能之一。当程序创建对象、数组等引用类型实体时,系统都会在堆内存中为之分配一块内存区,对象就保存在这块内存区中,当这块内存不再被任何引用变量引用时,这块内存就变成垃圾,等待垃圾回收机制进行回收。垃圾回收机制具有如下特征:垃圾回收机制只负责回收堆内存中的对象,不会回收任何物理资源(例如数据库连接、网络IO等资源)。程序无法精确控制垃圾回收的...

2019-01-21 16:17:50 717

原创 《疯狂java讲义》学习(19):枚举类

枚举类在某些情况下,一个类的对象时有限而且固定的,比如季节类,它只有4个对象;在比如行星类,目前只有9个对象。这种实例有限而且固定的类,在Java里被称为枚举类。手动实现枚举类如果需要手动实现枚举类,可以采用如下设计方式:通过private将构造器隐藏起来。把这个类的所有可能实例都使用public static final修饰的类变量来保存。如果有必要,可以提供一些静态方法,允许其他...

2019-01-20 15:40:31 748

原创 《疯狂java讲义》学习(18):内部类

内部类大部分时候,我们把类定义成一个独立的程序单元。在某些情况下,我们把一个类放在另一个类的内部定义,这个定义在其他类内部的类就被称为内部类(有的地方也叫嵌套类),包含内部类的类也被称为外部类(有的地方也叫宿主类),内部类主要作用:提供更好地封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。假设需要创建Cow类,Cow类需要组合一个CowLeg对象,CowLeg类只有在C...

2019-01-19 22:23:51 721

原创 《疯狂java讲义》学习(17):接口

更彻底的抽象:接口抽象类是从多个类中抽象出来的模板,如果将这种抽象进行得更彻底,则可以提炼出一种更加特殊的“抽象类”——接口(interface),接口里不能包含普通方法,接口里的所有方法都是抽象方法接口的概念同一个类的内部状态数据、各种方法的实现细节完全相同,类是一种具体实现体。而接口定义了一种规范,接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心这些类里方法的...

2019-01-18 14:17:37 737

原创 增长黑客(Growth Hacking)(六)

2019-01-17 22:03:24 1696

原创 《疯狂java讲义》学习(16):抽象类

抽象类当编写一个类时,常常会为该类定义一些方法,这些方法用以描述该类的行为方式,那么这些方法都有具体的方法体。但在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确地知道这些子类如何实现这些方法。例如定义了一个Shape类,这个类应该提供一个计算周长的方法callPerimeter(),但不同Shape子类对周长的计算方法是不一样的,即Shape类无法准确地知道其子类计算周长的方法...

2019-01-17 13:29:55 698

原创 增长黑客(Growth Hacking)(五)

2019-01-16 19:40:22 1669

原创 《疯狂java讲义》学习(15):final修饰符

final修饰final修饰变量时,表示该变量一旦获得了初始值就不可被改变,final既可以修饰成员变量(包括类变量和实例Z变量),也可以修饰局部变量、形参。有的树上介绍说final修饰的变量不能被赋值,这种说法是错误的!严格的说法是,final修饰的变量不可能改变,一旦获得了初始值,该final变量的值就不能被重新赋值。因为final变量获得初始值之后不能被重新赋值,因此final修饰成员变...

2019-01-16 15:28:54 695

原创 《疯狂java讲义》学习(14):类成员

类成员static关键字修饰的成员就是类成员,前面已经介绍的类成员有类Field、类方法、静态初始化块等三个成分,static关键字不能修饰构造器。static修饰的类成员属于整个类,不属于单个实例。理解类成员在Java类里只能包含Field、方法、构造器、初始化块、内部类(包括接口、枚举)5种成员,以static修饰的成员就是类成员。类成员属于整个类,而不属于单个对象。类Field属于整...

2019-01-15 18:43:43 667

原创 python数据分析:在jupyter notebook上使用python&SQL做数据分析

类似于在jupyter上使用R语言,同样可以使用SQL语句:详细见github项目:https://github.com/catherinedevlin/ipython-sql安装ipython-sqlpip install ipython-sql载入%load_ext sql连接数据库 同 SQLAlchemypostgresql://will:longliveliz@local...

2019-01-14 21:14:35 13923

原创 《疯狂java讲义》学习(13):处理对象

处理对象Java对象都是Object类的实例,都可直接调用该类中定义的方法,这些方法提供了处理Java对象的通用方法。打印对象和toString方法这里有一个程序:class Person{ private String name; public Person(String name){this.name=name;} public void info(){ ...

2019-01-14 16:21:43 1024

原创 增长黑客(Growth Hacking)(四)

2019-01-13 13:45:31 1722

原创 《疯狂java讲义》学习(12):包装类

增强包装类为了解决8种基本数据类型的变量不能当成Object类型变量使用的问题,Java提供了包装类(Wrapper Class)的概念,为8种基本数据类型分别定义了相应的引用类型,并称之为基本数据类型的包装类。除了int和char有点例外之外,其他的基本数据类型对应的包装类都是将其首字母大写即可。把基本数据类型变量包装成包装类实例是通过对应包装类的构造器来实现的,不仅如此,8个包装类中除了...

2019-01-13 11:04:18 614

原创 增长黑客(Growth Hacking)(三)

2019-01-12 22:14:19 1624

原创 python数据分析:特征选择与电商搜索相关性预测

大型在线零售商通常使用基于查询的搜索来帮助消费者在其网站上查找信息/产品。他们能够使用技术为用户提供更好的体验。因为他们了解搜索相关性的重要性,并且长时间和/或不成功的搜索可以将用户转移,因为用户已经习惯并期望即时,相关的搜索结果,例如他们从淘宝、京东获得的搜索结果。虽然搜索对于任何电子商务业务的成功至关重要,但对于中小型在线零售商来说,搜索并不总是那么容易,因为它往往需要大量的手动标记数据和机...

2019-01-12 18:59:43 3728

原创 《疯狂java讲义》学习(11):初始化块

初始化块Java使用构造器来对单个对象进行初始化操作,使用构造器先完成整个Java对象的状态初始化,然后将Java对象返回给程序,从而让该Java对象的信息更加完整。与构造器作用非常类似的是初始化块,它也可以对Java对象进行初始化操作。使用初始化块初始化块是Java类里可出现的第4种成员,一个类里面可以有多个初始化块,相同类型的初始化块之间有顺序:前面定义的初始化块先执行,后面定义的初始化...

2019-01-12 12:13:02 641 6

原创 《疯狂java讲义》学习(10):继承与组合

类重现继承是实现类重用的重要手段,但继承带来了一个最大的坏处:破坏封装。相比之下,组合也是实现类重用的重要方式,而采用组合方式来实现类重用则能提供更好的封装性。使用继承的注意点子类使扩展父类使,可以直接访问父类的Field和方法,但是有一个严重的问题:继承严重破坏了父类的封装性。前面介绍封装时提到:每个类都应该封装它内部信息和实现细节,而只暴露必要的方法给其他类使用。但在继承关系中,子类可以...

2019-01-11 12:04:01 635

原创 python数据分析:使用lifetimes进行客户终身价值(CLV)探索

客户终身价值(CLV)客户终身价值(CLV)是从一个关键人物业务。它通常描述了客户在整个“客户生活”期间实现的贡献边际,折扣到分析时。因此,CLV可以理解为客户多年来对公司或未来的平均价值。因此,除历史收入外,未来预期收入也会被考虑(客户潜力)。在确定CLV时,必须将可能的客户价值与实际客户价值区分开来。可能的客户价值考虑了某个区域内客户的总支出,包括竞争对手的支出,而实际的CLV仅考虑了客户对...

2019-01-10 21:46:37 14471 16

原创 《疯狂java讲义》学习(9):多态

多态Java引用变量有两个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量是使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就有可能出现所谓的多态(Ploymorphism)。多态性这里有个程序:class BaseClass{ public int book=6; public void base() {...

2019-01-10 13:14:06 636

原创 《疯狂java讲义》学习(8):类的继承

类的继承继承是面向对象的三大特征之一,也是实现软件复用的重要手段。Java的类继承具有单继承的特点,每个子类只有一个直接父类。继承的特点Java的继承通过extends关键字来实现,实现继承的类被称为子类。父类和子类的关系,是一种一般和特殊的关系。例如水果和苹果的关系,苹果继承了水果,苹果是水果的子类,继承语法如下:修饰符class SubClass extends SuperClass...

2019-01-09 17:33:55 714

原创 python数据分析:使用LightGBM进行零售价格推荐

数据数据来源日本最大的社区动力购物应用程序Mercari,类似于国内的闲鱼、转转。他们想向卖家提供定价建议,但这很难,因为他们的卖家能够在Mercari的市场售卖任何商品。这里我们要拍建立一个自动建议正确的产品价格的模型。你可以在这里下载数据数据描述:train_id — 订单idname — 商品名称item_condition_id — 商品的状态的类别id(如:good,Like...

2019-01-09 14:51:25 3031

原创 《疯狂java讲义》学习(8):构造器

构造器构造器是一种特殊的方法,这个特殊方法用于创建实例时执行初始化。构造器时创建对象的重要途径(工厂模式反射等方式创建对象,其实质依然是依赖于构造器),因此,Java类必须包含一个或一个以上的构造器。使用构造器执行初始化构造器最大的用途就是在创建对象时执行初始化。,前面已经介绍过了,当创建一个对象时,系统为这个对象的Field进行默认初始化,这种默认的初始化把所有基本类型的Field设置为0...

2019-01-08 12:54:09 587

原创 增长黑客(Growth Hacking)(二)

2019-01-07 22:02:56 1682

工作明细 job_to_map

dash作图主体分为两大部分: 一部分是数据部分data,二部分是呈现部分layout。 由于是在网页上呈现,所以layout部分的编写,是基于html语言的的一些标签。 看一下代码:

2018-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除