自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 Adobe Acrobat和Foxit阅读器打开同一个PDF,效果为什么不一样?

今天把打印好的电子票票交给财务小姐姐报销,结果小姐姐说我把纳税人识别号填错了,里面不能有空格。可我填的时候明明里面没有写空格啊?后来发现是PDF阅读器的锅,我用Foxit阅读器打开,英文字母就会用半角字母占了全角的位子,而小姐姐用Acrobat打开,则正常显示全角字符,这是为什么呢?...

2018-08-07 15:44:37 6292 1

原创 基本算法-日期倒计时

题目描述 在经济、科技日益发达的今天,人们对时间的把握越来越严格,对于一个一定影响力的公司的高管来说,他可能要将自己的行程提前安排到下个月。对于普通人来说,他也可能将几天之后的安排已经提前做好。 请设计一个程序计算出今天距离未来的某一天还剩多少天。 假设今天是2015年10月18日。 … … 输入输入一个日期格式为yyyy-MM-dd,不考虑日期是否小于今天。 ...

2018-04-09 19:26:32 1287

原创 基本算法-马路上的路灯

题目描述 城市E的马路上有很多路灯,每两个相邻路灯之间的间隔都是1公里。小赛是城市E的领导,为了使E城市更快更好的发展,需要在城市E的一段长度为M的主干道上的一些区域建地铁。这些区域要是建了地铁,就需要挪走相应的路灯。可以把长度为M的主干道看成一个数轴,一端在数轴0的位置,另一端在M的位置;数轴上的每个整数点都有一个路灯。要建地铁的这些区域可以用它们在数轴上的起始点和终止点表示,已知任一区域的起...

2018-04-09 19:20:11 879

原创 基本算法-分苹果

题目描述 果园里有堆苹果,N(1<N<9)只熊来分。第一只熊把这堆苹果平均分为N份,多了一个,它把多的一个扔了,拿走了一份。第二只熊把剩下的苹果又平均分成N份,又多了一个,它同样把多的一个扔了,拿走了一份,第三、第四直到第N只熊都是这么做的,问果园里原来最少有多少个苹果? … … 输入输入1个整数,表示熊的个数。它的值大于1并且小于9。 样例输入5 输出为1...

2018-04-09 18:19:32 2616 3

原创 基本算法-公交车乘客

题目描述 当你学一些可视化程序设计语言时,老师经常会让你设计并且编程做出一个计算器,这时也许你会仿照windows系统自带的计算器外观和功能去设计,但是现在老师要你多做出一个有新功能的计算器,实现当输入一个数时,能够将这个数分解成一个或多个素因子乘积的形式,并按素因子的大小排列显示出来。大家对计算器中数的表示应该很清楚的。下面显示出了0 — 9这十个数字的表示形式。每个数字都占据5 * 3大小的...

2018-04-08 18:30:35 1532

原创 基本算法-计算器的新功能

题目描述 当你学一些可视化程序设计语言时,老师经常会让你设计并且编程做出一个计算器,这时也许你会仿照windows系统自带的计算器外观和功能去设计,但是现在老师要你多做出一个有新功能的计算器,实现当输入一个数时,能够将这个数分解成一个或多个素因子乘积的形式,并按素因子的大小排列显示出来。大家对计算器中数的表示应该很清楚的。下面显示出了0 — 9这十个数字的表示形式。每个数字都占据5 * 3大小的...

2018-04-08 16:50:09 480

原创 基本算法-约德尔测试

题目描述 兰博和提莫闲聊之后,回归到了他们的正题,约德尔人的未来。 说起约德尔人的未来,黑默丁格曾经提出了一个约德尔测试,将约德尔人的历史的每个阶段都用一个字符表达出来。(包括可写字符,不包括空格。)。然后将这个字符串转化为一个01串。转化规则是如果这个字符如果是字母或者数字,这个字符变为1,其它变为0。然后将这个01串和黑默丁格观测星空得到的01串做比较,得到一个相似率。相似率越高,则约德尔...

2018-04-06 19:00:39 278

原创 python中计算一个列表中连续相同的元素个数

最简单的例子:a = [1,1,1,1,2,2,2,3,3,1,1,1,3]# 问:计算a中最多有几个连续的1很明显,答案是4如果用代码实现,最先想到的就是itertools:import itertoolsa = [1,1,1,1,2,2,2,3,3,1,1,1,3]print max([len(list(v)) for k,v in itertools.group...

2018-03-05 19:15:46 21576 3

原创 正则表达式只匹配整数不匹配小数

现在我们有形如如下字符串的数据:联系列表:[上海浦东发展银行白金专线]主叫1次共5.48分钟,被叫0次共0.0分钟;[工商银行]主叫4次共28.36666666分钟,被叫0次共0.0分钟;[建设银行信用卡服务热线]主叫3次共9.26666666分钟,被叫0次共0.0分钟;[浦发银行信用卡热线]主叫0次共0.0分钟,被叫1次共0.58分钟我们需要从中计算出所有银行主被叫的次数之和为了...

2018-01-11 17:28:46 5842

原创 hive正则表达式regexp_extract的第三个参数index

表格的原始数据如下: a 152天内有67天无通话记录 71天内有58天无通话记录 154天内有8天无通话记录 178天内有76天无通话记录 NULL 159天内有69天无通话记录 手机关机时间从未超过1天 171天内有63天无通话记录 163天内有90天无通话记录 160天内有35天无通话记录现在想计算其中无通话记录的天数的占比,又不想在代码中使用中文(

2017-11-21 16:58:25 7154

原创 python3环境下的pandas,其max方法有一个大坑

pandas.Series.max和pandas.DataFrame.max 都有相同的参数:max(axis=None, skipna=None, level=None, numeric_only=None, **kwargs)但是,在python3环境下的python2环境下的结果却是不同的!同样的代码:import pandas as pdimport numpy as nptemp =

2017-11-06 16:44:32 10990

原创 查看hive的版本

hive比较坑的一点就是没有类似hive -version的方便地查看版本的方法,我们只能自己去hive的安装目录里去看各个jar包的版本。可是,我们怎么找到hive的安装目录呢?这里有个方便的方法:$ locate */hive/lib/hive*jar这样可以方便地定位到hive/lib目录下查看各个jar包的版本通常,hive-exec的那个jar包的版本就是hive的版本号 比如我这里:[

2017-11-03 19:22:38 24430

原创 利用python求数组中连续k个相同值的最大的k

例如,对于一个数组a=(a1,a2,...,an)a=(a_1,a_2,...,a_n),我们想知道使得ai=ai+1=...=ai+k=xa_i=a_{i+1}=...=a_{i+k}=x的最大kk是多少,最笨的办法是我们需要做两层循环:# 这里假设x=1aaa = [1, 1, 0, -1, 1, 1, 1, -1, -1, -1, -1, 0, 0]len_a = len(aaa)max

2017-07-14 15:17:29 1065

原创 python3爬天气后报历史数据

查询国内各地市的天气数据,天气后报网http://www.tianqihoubao.com/lishi是一个还凑合的选择,因为里面只有天气状况、气温、风力风向这三方面的数据,是一个不能更基本的天气数据了。可以注意到每个数据页的url构造很有规律,基本上就是www.tianqihoubao.com/lishi/+地市拼音+/month/+六位月份+.html 由于数据量不大,这里的策略就是:在ww

2017-06-09 12:20:49 4515

原创 改改host,轻松登录dropbox!(For Windows)

自从dropbox被屏蔽之后,已经很久没有登录过它了,我都快要将他遗忘了,突然收到邮件让我登录,否则就关闭账户,可我又登不上去,这可如何是好?这里不用vpn,只用改一下host就能轻松登录dropbox!STEP 1打开:http://ping.chinaz.com/ ping一下dropbox.com,如图所示: 可以得到如下结果: STEP 2将所有的响应ip复制粘贴到一个txt文档里,文

2017-06-09 11:16:32 27697 4

原创 使用hadoop做wordcount笔记

以前写的mapreduce的wordcount,都忘了怎么执行了hadoop jar/home/dmc/hadoop/share/hadoop/tools/lib/hadoop-streaming-2.6.0.jar-mapper mapper1.py-file mapper1.py-reducer reducer1.py-file reducer1.py-input /user/hu

2017-06-08 12:41:48 336

原创 在Word2016公式编辑器中一招搞定等号对齐问题

微软OFFICE套装中的公式编辑器历来为人所诟病,但有时还不得不用它来编辑文档。 有时在Word中我们会遇到多行等式对不齐的情况,这让人非常抓狂: 而我们希望是: ⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪s0stbtct=x0=α(xt−ct−L)+(1−α)(st−1+bt−1)=β(st−st−1)+(1−β)bt−1=γ(xt−st−1−bt−1)+(1−γ)ct−L0<α,β,γ<1\left\{

2017-04-05 17:49:39 61059 10

原创 基本算法-路灯

题目描述 V先生有一天工作到很晚,回家的时候要穿过一条长l的笔直的街道,这条街道上有n个路灯。假设这条街起点为0,终点为l,第i个路灯坐标为ai。路灯发光能力以正数d来衡量,其中d表示路灯能够照亮的街道上的点与路灯的最远距离,所有路灯发光能力相同。为了让V先生看清回家的路,路灯必须照亮整条街道,又为了节省电力希望找到最小的d是多少? … … 输入输入两行数据,第一行是两...

2016-10-16 02:16:54 930

原创 基本算法-翻转数组

题目描述 给定一个长度为n的整数数组a,元素均不相同,问数组是否存在这样一个片段,只将该片段翻转就可以使整个数组升序排列。其中数组片段[l,r]表示序列a[l], a[l+1], …, a[r]。原始数组为 a[1], a[2], …, a[l-2], a[l-1], a[l], a[l+1], …, a[r-1], a[r], a[r+1], a[r+2], …, a[n-1], a[n],...

2016-10-16 01:20:46 429

原创 基本算法-股神

题目描述 有股神吗? 有,小赛就是! 经过严密的计算,小赛买了一支股票,他知道从他买股票的那天开始,股票会有以下变化:第一天不变,以后涨一天,跌一天,涨两天,跌一天,涨三天,跌一天…依此类推。 为方便计算,假设每次涨和跌皆为1,股票初始单价也为1,请计算买股票的第n天每股股票值多少钱? … … 输入输入包括多组数据;每行输入一个n,1<=n<=10^9 。 样例输入12345

2016-10-15 16:51:07 711

原创 基本算法-将功赎过

题目描述小赛是一名幸运的程序员。 虽然他成功帮助小朋友以最快时间夺回了狼堡,但是面试官却打算和他说拜拜了。 理由是——游戏天赋太高,有不务正业、走火入魔的倾向QAQ…… 尽管小赛很不能接受这个理由,可是却只能心灰意冷地吃下这个结果。 然而,在他即将走出门的时候,面试官给了幸运的小赛一个最后的机会。 原来,面试官的手机被他调皮的儿子小明用一个数字作为密码锁上了。 小明只记得这个数字的...

2016-10-15 16:43:48 673

原创 pyspark中使用categoricalFeaturesInfo来标记分类型变量

以使用pyspark的随机森林作为例子:#! /usr/bin/python3#-*-coding:utf-8-*-from pyspark import SparkContext,SparkConffrom pyspark.mllib.regression import LabeledPointfrom pyspark.mllib.classification import Logistic

2016-09-23 16:59:58 2831

原创 EXCEL中使用index+match函数进行查找匹配

经常我们需要从一列值中在另一部分对应表中查找匹配相应的值,举个例子: A B C 1 姓名 语文 数学 2 李四 87 69 3 王五 67 98 4 张三 89 66 5 马六 55 91现在我在表格的另一块想查找张三和李四的语文成绩: C D 7 张三 (公式?) 8

2016-08-30 10:08:25 45003 1

原创 hive的union all语句的顺序问题

有这么一个查询:select -count(*) from (select distinct ${hiveconf:colname} from ${hiveconf:tablename} where ${hiveconf:latest_status}) tunion allselect count(*) from ${hiveconf:tablename} where ${hiveconf:la

2016-08-19 09:44:54 5946

原创 hive计算分位数

hive里面倒是有个percentile函数和percentile_approx函数,其使用方式为percentile(col, p)、percentile_approx(col, p),p∈(0,1)p\in(0,1) 其中percentile要求输入的字段必须是int类型的,而percentile_approx则是数值类似型的都可以 其实percentile_approx还有一个参数B:pe

2016-08-12 11:02:38 53729

原创 hive中的histogram_numeric函数

对于一个数值型字段,我现在想看一下它的分布情况,做一个直方图就是一个既简便又直观的方法,而hive中恰好就有这么一个直方图函数,虽然不能拿来直接作图,但是其输出的结果可以用来做图 可以参考:hive官网的解释不过对于我等技术渣,并没有用过gnuplot其输出结果也让人费解,举个例子:select inline(histogram_numeric(cast(a.amount as int),10))

2016-08-11 10:19:25 12556

原创 使用scipy来解非线性方程

我们有两个正态分布:N(2,4)和N(3,5),现在想求出靠近两者均值的等概率点,如图所示: 其中Difference=N(2,4)-N(3,5),即为我们下列代码中的函数f#! /usr/bin/python3#-*-coding:utf-8-*-from scipy.optimize import fsolveimport numpy as npimport math#定义函数(方程f(

2016-06-13 01:41:45 7239

原创 python不使用type(obj) is **来判断变量的类型

有时我想判断一个变量的type是不是我想要的那个,该怎么办呢? 用type(obj) is type当然可以 在这里我们还有个办法,用isinstance(obj,type),举个栗子:import collectionsa=[1,1,2,2,3,3,3]b=collections.Counter(a) #Counter({3: 3, 1: 2, 2: 2})type(b) #<class

2016-06-12 19:00:11 677

原创 pandas的iloc的神奇之处

pandas中的dataframe用起来不像R里面的那样方便,比如说,对于如下一个dataframe:>>> df=pd.DataFrame({'a':[1,2,3,4],'b':[5,6,7,8]})>>> df a b0 1 51 2 62 3 73 4 8我想把所有a列中值大于2的行的b列的值+1,也就是变成这样: a b0 1 51 2 6

2016-06-04 21:07:53 5235

原创 python统计文件行数效率对比

我们现在有一个文件exp_data,想统计它的行数 现在有四种方法: 1、直接把文件通过readlines()读入为一个大list,然后统计list的长度 2、每一行计数 3、直接借助os包调用shell函数

2016-05-27 00:35:21 3520

原创 【python】string to list效率对比

在不使用额外包的情况下,对比一下文件共19396310行,每行21个逗号,前五行如下: 0,3,3,4,4,424,-7.0,-8.0,80.0,1026.0,12.0,13.0,0.0,4,-2.0,-11.0,56.0,1024.0,16.0,16.0,0.0,2 0,3,3,3,3,424,-7.0,-8.0,80.0,1026.0,12.0,13.0,0.0,4,-2.0,-11.

2016-05-12 22:18:31 1268

原创 python计算分位数

使用numpy包:import numpy as npa=np.array(([1,2,3,4]))np.median(a)#中位数np.percentile(a,95)#95%分位数

2015-12-21 02:53:03 59553

原创 python画箱线图

要用到matplotlib:from matplotlib import pyplot as plta=range(1,10)plt.boxplot((a,a),labels=('Mon','Tue'))plt.show()

2015-08-13 01:06:00 12420

原创 Python做统计计算

还是import numpy a、b都是等长list 求均值:numpy.mean(a) 求方差:numpy.var(a) 求协方差:numpy.cov(a,b) 求标准差:numpy.std(a)

2015-07-17 14:24:51 969

原创 Python做矩阵运算

很简单: `import numpy生成矩阵: a=numpy.array([lista,listb,listc])矩阵转置: a.transpose()矩阵求逆: numpy.linalg.inv(a)矩阵求迹: a.trace求特征值、特征向量: numpy.linalg.eig(a) 求解方程组: numpy.linalg.solve(a,b) #其中b是向量l

2015-07-17 14:19:25 971

原创 csv的writerow写入的文件会有空行很蛋疼

用csv的writerow写入行真的是超蛋疼:看网上某攻略还得用二进制wb、rb的方法来读写真是超蛋疼其实在打开要写入的文件的时候,末尾加上一句newline=”就够了filex=open('F:\\Airline On Time Performence Data--Gov USA\\Main Data\\1987.csv\\1987t.csv','w',newline='')这样在写入的时候就不会

2015-06-18 16:56:09 9545 3

原创 回车(\r)和换行(\n)真蛋疼

对于一般的windows文本文档,每一行结尾都有“\r\n”这么四个字符,但是实际上你用记事本打开的时候是看不到这玩意儿的。 比如说,对于一个.csv文件,用记事本打开的时候是这个样子的: 用Excel打开是这个样子的: 用python3.4的二进制方式读取打开是这个样子的:(注意左上角的那个‘rb’,其实不用二进制,用文本的方式打开也一样) 可以看到每一行的结尾都有“\r\n”,太多所以我

2015-06-17 16:46:03 1796

原创 那什么,想计算日期,datetime搞起

Excel的日期计算可以说是很方便,但是python就麻烦多了,还得用一个datetime包。之前傻逼了,用了calendar包,结果那玩意儿纯粹是一个日历啊尼玛,不能计算时间好蛋疼!不废话,为了美国航空事业,为了计算每一周的航班起降量,上代码!import datetimedate1=datetime.date(1988,1,1) #不能用01,这样会出错date2=datetime.d

2015-06-09 18:48:20 442

原创 csv的读取

csv,顾名思义,逗号分隔值(Comma-Separated Values)用excel打开csv文件,是这个样子的:用记事本打开,是这个样子的:这说明csv的本质还是文本文档txt=======================================在Pyt

2015-06-08 11:05:17 731

空空如也

空空如也

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

TA关注的人

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