自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在日常工作中经常用到的SQL日期函数总结

当月月至今:trunc(sysdate(-1), 'MM') --当月的1号sysdate(-1) --昨天dt between trunc(sysdate(-1), 'MM') and sysdate(-1)如果要求同比,就要取去年月至今:add_months(trunc(sysdate(-1), 'MM'),-12) --去年当月的1号add_months(sysdate(-1),-12) --去年昨日--注意add_months的使用,巧妙使用该函数可以得到上一

2020-08-10 16:00:24 637

原创 pandas按若干个列的组合条件筛选数据

还是用图说话A文件:比如,我想筛选出“设计井别”、“投产井别”、“目前井别”三列数据都相等的数据,结果如下:当然,这里的筛选条件可以根据用户需要自由调整,代码如下:# -*- coding: utf-8 -*-"""Created on Wed Nov 29 10:46:31 2017@author: wq"""import pandas as pd#in

2017-11-30 13:27:57 95027 4

原创 用pandas里的groupby函数实现把一个大文件按某一列的类型分成多个文件

上图说话,浅显易懂大文件:可以发现上图“单元这一行”有三个不同的值,我想以这一列为主键,分成三个文件,文件名以主键内容命名,输入如下图:对于GO7-33-286.csv、GO7-35-226.csv、GO7-37-166.csv这三个文件内容,分别如下:实现代码如下:# -*- coding: utf-8 -*-"""Created on Thu Nov 30

2017-11-30 11:20:22 7114 7

原创 用pandas按列合并两个文件

直接上图,图文并茂,相信你很快就知道要干什么。A文件:B文件:可以发现,A文件中“汉字井号”这一列和B文件中“WELL”这一列的属性相同,以这一列为主键,把B文件中“TIME”这一列数据添加到A文件中,如果B文件中,则空着,最后A文件的行数不变,效果如下:代码如下:# -*- coding: utf-8 -*-"""Created on Wed Nov 29 1

2017-11-29 16:34:31 12404 3

原创 两个文件,按照一个文件中的某一列筛选另一个文件中的数据

当我们手头有两个文件,一个文件很大,有很多很多行,而另一个文件比较小,现在我们需要根据两个文件的一个公共列,取出大文件中同时出现在两个文件中的那些行的所有数据。数据解释如下:文件A:文件B:我想从文件A中取出“汉字井号”分别为“孤东7-27更5186”、“孤东7-23斜更186”、“孤东7-6平1”这几行的资料。代码如下# -*- coding: utf-8 -*-"

2017-11-29 11:40:35 18185 5

原创 机器学习(一):用sklearn进行数据预处理:缺失值处理、数据标准化、归一化

在我们平时进行数据数据挖掘建模时,一般首先得对数据进行预处理,其中就包括数据缺失值、异常值处理、数据的标准化、归一化等等。下面主要介绍如何对一个数据文件进行数据的缺失值处理、标准化和归一化MID_SPMID_ACMID_R25MID_CONDLITHO155.195395.73.65253.8830.23862.5

2017-11-28 16:02:44 11864 1

原创 用python实现排列组合

比如我们要实现1,2,3的排列组合,我们可以很容易写出来,如下表:  1个元素2个元素3个元素不考虑顺序1231,2,312,13,23123考虑顺序1231,2,3,12,21,13,31,23,32123,132,213,231,312,321用代码实现,首先是不考虑顺序的:#选取2

2017-08-21 22:51:09 62071 4

原创 Linux:自动化部署脚本,给每一台主机装上JDK,且配好环境变量

centos6.7当我们有很多台主机,想在每台机器上都安装一样的某些软件,当然,一台机器一台机器安装也是可以的,但是如果有一键安装所有机器上的软件那是不是很激动人心呢!首先我们需要制作一台服务器,并把软件包放在我们的服务器上首先进入 /var/www/html文件夹cd /var/www/html创建一个文件夹softmkdir soft把事先下载好的软件包放在这个目录下(记住

2017-08-20 20:16:41 3658

原创 Linux文件系统操作命令

**ls /   查看根目录下的子节点(文件夹和文件)信息ls -al -a是显示隐藏文件   -l是以更详细的列表形式显示**切换目录cd /home**创建文件夹mkdir aaa     这是相对路径的写法 mkdir -p aaa/bbb/cccmkdir /data    这是绝对路径的写法 **删除文件夹rmdir  可以删除空目录rm -r

2017-08-17 16:57:35 306

原创 在虚拟机中配置各个主机之间的免密ssh登陆

当我们在某一台机器上操作,需要连接到另一台机器上,或者需要拷贝某一个文件到另一台机器上,在windows系统上我们可以使用远程桌面,但是在linux系统中,我们该如何操作呢?正常我们可以用ssh 192.168.23.2    (后面接另一台主机IP)但是接着会要求我们输入另一台主机密码,但是在分布式操作过程中,不同主机之间的切换操作很频繁,如果每次都要求输入密码,那将很繁琐,效率很低

2017-08-17 16:45:56 1844

原创 牛客网:数据库sql实战

1、查找最晚入职员工的所有信息select * from employees where hire_date = (select max(hire_date) from employees);2、查找入职员工时间排名倒数第三的员工所有select * from employees where hire_date = (select hire_date from employees orde

2017-08-16 14:53:10 4685

原创 实例解释inner join 和 natural join 的区别

查找所有已经分配部门的员工的last_name和first_name和部门号用inner join解答:inner join是内连接,显示符合连接条件的记录select e.last_name, e.first_name, d.dept_no from employees e inner join dept_emp d on e.emp_no = d.emp_no;用natural j

2017-08-13 21:48:09 12030

原创 mysql学习笔记

SQL语言的分类: DDL:数据定义语句 create / drop / alter DML:数据操作语句 insert / delete / update / truncate DCL:数据控制语句 DQL:数据查询语句 select / showSQL基础:一、数据库操作增: 创建数据库:create database dbname;

2017-08-13 20:02:36 236

原创 爬虫初探:把豆瓣读书主页上书的URL、书名、作者、出版时间、出版社全部爬下来

import requestsimport re#进入豆瓣读书主页,把网页源代码打出来content = requests.get('https://book.douban.com/').text#定义一个正则表达式对象pattern = re.compile('(.*?).*?year">(.*?).*?publisher">(.*?).*?', re.S)results = re.

2017-08-10 21:22:50 1988 1

原创 爬虫第一天:环境配置

工欲善其事,必先利其器要想顺利开心快捷的爬啊爬,环境当然得到配置好啊,那接下来一步一步来吧:一:下载anaconda,为什么下载anaconda呢,为什么不直接去官网下载python安装包下载呢,当然也是可以的,只是anaconda更加方便,因为它集成了很多爬虫,数据分析需要的第三方库,也集成了像pip这样的神器,所以安装它来的更简单二:安装一个python IDE 这个就看个人喜好了

2017-08-09 22:45:56 1046

原创 论一只爬虫的自我修养

编程语言基础,数据结构与算法告一段落,接下来学一学python爬虫,欢迎各位大神提建议

2017-08-09 10:07:22 430

原创 剑指Offer:机器人的运动范围

地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?# -*- coding:utf-8 -*-clas

2017-08-08 16:27:15 297

原创 剑指Offer:数据流中的中位数

如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。看别人用两个堆,一个最大堆,一个最小堆,说的挺在理,其实理解起来也不难,下面呢提供一种简单粗暴的方法,但是如果细细探究其时间复杂度,其实是O(n),但排序用的是内建函数,真实运行速度比较快,话不多说,上代码

2017-08-08 14:21:49 442

原创 剑指Offer:二叉搜索树的第K个结点

题目描述:给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 24 6 8 中,按结点数值大小顺序第三个结点的值为4。我们知道,由于二叉搜索树的中序遍历是排序的,所以我们可以先中序遍历整个二叉树,并把它存成一个列表,然后返回该列表的第K个值就行了# -*- coding:utf-8 -*-# class TreeNode:# def __ini

2017-08-08 10:11:52 241

原创 把一个用阿拉伯数字表示的正整数转换成汉字大写表示

一个面试题,考查面试者的逻辑思维能力,考虑的问题很多,把一个用阿拉伯数字表示的正整数转换成汉字大写表示这里代码没有考虑非法输入,但如果是面试。最好跟面试官交流清楚,展现你考虑问题全面,写出的代码鲁棒性强比如:输入的数带符号,输入的数不是整数,是小数,是负数,或者压根就不是数值,或者是空值等等主要功能为:比如1201001   转换成:壹佰贰拾万壹仟零壹               

2017-08-07 09:31:08 3870 1

原创 剑指Offer:链表中环的入口结点

第一步:先找到环中的一个点第二步:确定环中有几个元素,比如n个第三步:让第一个指针先走n步,第二个指针再从头走,两指针相遇即为入口结点class Solution: def EntryNodeOfLoop(self, pHead): # write code here meetingNode = self.MeetingNode(pHead)

2017-08-04 11:38:05 425

原创 剑指Offer:表示数值的字符串

个人感觉这种题目用正则表达式匹配最简单,也就两三行代码就能解决,但是呢,好像并不能充分锻炼我们的逻辑思维能力,这个问题本身不难,但边界条件,特殊输入很多,要一一考虑清楚,下面给出一个一种一种情况考虑排除的解法,有点繁琐,但有注释,整体逻辑还是很清晰的。# -*- coding:utf-8 -*-class Solution: # s字符串 def isNumeric(self

2017-08-04 10:30:09 997

原创 剑指Offer:数组中出现次数超过一半的数字

# -*- coding:utf-8 -*-class Solution: def MoreThanHalfNum_Solution(self, numbers): # write code here if (numbers == None or len(numbers) <= 0): return 0 resul

2017-07-26 21:27:50 244

原创 剑指Offer:复杂链表的复制

# -*- coding:utf-8 -*-#class RandomListNode:# def __init__(self, x):# self.label = x# self.next = None# self.random = None"""分三步:第一步:复制每个节点,如:复制节点A得到A1,将A1插入节点A后面第二步:

2017-07-26 10:00:21 1099

原创 输入一个链表,输出该链表中倒数第k个结点。

'''输入一个链表,输出该链表中倒数第k个结点'''#常规解法,考虑了代码的鲁棒性,考虑了空指针,K为0,K大于链表的长度class Solution: def FindKthToTail(self, head, k): # write code here if (head == None or k == 0): return N

2017-07-16 11:13:46 1393

原创 调整数组顺序使奇数位于偶数前面

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。# -*- coding:utf-8 -*-class Solution: def reOrderArray(self, array): # write code here if

2017-07-16 09:05:28 359

原创 剑指offer python语言解法

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。# -*- coding:utf-8 -*-class Solution: # array 二维列表 def Find(self, target, array): # write code here

2017-07-12 14:31:59 553

原创 读取指定目录下的所有文件名,并把它存储到本地

在平时的工作中,一个目录下可能有成千上百个文件,我们需要得到这些文件的文件名表格,下面一个简单的程序可以实现:               # -*- coding: utf-8 -*-#author: wangqi#读取指定目录下所有文件名,也可选择限定下的文件名FindPath = 'D:\文件夹路径'def GetFileList(FindPath): i

2017-06-19 14:39:12 777

原创 用R语言实现选取一个文件夹下所有txt文件的几列数据

有时我们会遇到这样的业务需求,比如我们有很多数据文件,里面有很多数据项,一列表示一个数据项,并且不同文件数据项的排列顺序也是随机的。但是我们只需用到其中的几列数据,并且我们需要我们用到的几列数据按照既定的顺序排列,如下图:这个问题在我的博客中有用python编程解决的,这里主要是用R解决,对比一下两种语言的解决问题的快捷性,后面的说明不在赘述,可参考前一篇博文,下面是代码:inputD

2017-03-28 14:16:43 9220 1

原创 选择一个文件夹下所有txt文件的几列数据

有时我们会遇到这样的业务需求,比如我们有很多数据文件,里面有很多数据项,一列表示一个数据项,并且不同文件数据项的排列顺序也是随机的。但是我们只需用到其中的几列数据,并且我们需要我们用到的几列数据按照既定的顺序排列,如下图:这是一个txt文件,里面有9列,但是我只需要其中的DEPTH,AZIM,DEV三列,对于这样的需求,如果有几百个这样的文件,就必须编程来实现了,下面是源代码:impo

2017-03-28 13:56:28 5116 3

原创 批量修改文件名,把文件名中的汉字自动替换成其首字母

在平时的工作中,当我们面对几百上千的文件时,想要按照某一规则修改其文件名,手动改肯定不人性化,下面这个程序可以根据工作者需要,稍作修改,可以完成不同要求的文件名批量修改任务,本博文是在笔者工作过程中遇到这样的需求写的,本博文实现的主要功能是把文件名中的汉字自动替换成其首字母,其他不变。如果有其他要求,把代码稍作修改,相信也可以实现。如图:                              

2017-03-24 09:22:54 8016 4

原创 python 把一个m*n的二维矩阵转换成一个m*n行,三列的列表

在数据处理的时候,我们经常遇到需要把一个矩阵,转换成列表,如下的矩阵转换成列表: 80080180211891163.5691163.5691163.56911901163.5841163.5841163.58411911163.6351163.6351163.6351192

2017-02-28 10:34:15 12580 4

空空如也

空空如也

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

TA关注的人

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