
Python
Lestat.Z.
lestatzhang.com
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spark中对dataframe内重复列求和
前言在处理dataframe中的字段名是,发现有些字段名在处理后是重复,于是新定义了策略,对这些相同列名的字段进行求和合并summing the duplicated columns代码实现#Hanle Duplicatesfrom operator import addfrom functools import reduceimport collectionsoriginal_columns = [...]columns_after_cleanup=[...]counter=colle原创 2020-06-08 11:19:55 · 2335 阅读 · 0 评论 -
pyspark中获取dataframe的大小
代码如下:from pyspark.serializers import PickleSerializer, AutoBatchedSerializerdef _to_java_obj_rdd(df): rdd=df.rdd._reserialise(AutoBatchedSerializer(PickleSerializer())) return rdd.ctx._jvm.org.apache.spark.mllib.api.python.Serde.pythonToJava(rdd._jrdd原创 2020-05-19 19:40:42 · 5888 阅读 · 0 评论 -
python计算server时区时间差
记录一段python中关于timezone的小代码,将另一个时区服务器的时间转为utc+8import timefrom bson import ObjectIdfrom datetime import datetime, timedelta, timezonefrom dateutil.parser import parsedt1 = parse('2020-03-20')now_d...原创 2020-03-20 11:10:35 · 405 阅读 · 0 评论 -
python链表反转(递归)
代码如下:class ListNode(): def __init__(self,x): self.val =x self.next = None def printNode(head): curr=head while curr is not None: print(curr.val,end=' -&g...原创 2019-12-03 12:00:26 · 906 阅读 · 0 评论 -
python 实现链表反转操作
代码如下:class ListNode(): def __init__(self,x): self.val =x self.next = None def printNode(head): curr=head while curr is not None: print(curr.val,end=' -&g...原创 2019-11-30 17:51:58 · 353 阅读 · 0 评论 -
python实现堆排序
代码如下:def heap_adjust(arr, i, l): temp = arr[i] j = i*2 +1 while j< l: if j+1< l and arr[j]<arr[j+1]: j += 1 if arr[j]<temp: break ...原创 2019-11-30 17:08:46 · 291 阅读 · 0 评论 -
python实现树的前序/中序/后序遍历以及深度/广度遍历等
代码如下:class Node(): def __init__(self, x): self.val = x self.left = self.right = None class Tree(): def __init__(self): self.root = None def add(sel...原创 2019-11-30 16:48:56 · 426 阅读 · 0 评论 -
leetcode算法练习 —— 求两个排序排序数组的中位数
问题描述给定两个排序过的数组,求这两个排序数组的中位数, 在O(log(min(n, m)))内。解题思路将所有元素重组成有序的两部分,中位数就在段点处def find_median(a, b): #if len(a) > len(b): # a, b = b, a imin, imax = 0, len(a) n, m = len(a), len(b) while imi...原创 2019-10-15 21:34:34 · 347 阅读 · 0 评论 -
python inspect模块
前言inspect模块提供了几个有用的函数来帮助获取有关活动对象的信息,例如模块,类,方法,函数,回溯,框架对象和代码对象。 例如,它可以用来检查类的内容,检索方法的源代码,提取和格式化函数的参数列表,或获取显示详细回溯所需的所有信息。常用方法方法名描述inspect.getmembers(object[, predicate])返回按名称排序的(名称,值)对列表中对象...原创 2019-08-10 20:00:24 · 950 阅读 · 0 评论 -
自定义sklearn transformer
前言自定义了一个dataframe的transformer,用来清楚无用的列, 逻辑比较简单,具体代码如下import numpy as np import pandas as pdfrom sklearn.base import BaseEstimator, TransformerMixinfrom sklearn.preprocessing import OneHotEncoder,...原创 2019-08-25 11:42:03 · 642 阅读 · 0 评论 -
自定义sklearn CustomImputer
前言自己根据需求, 自定了一个简单的CustomImputer, 代码如下import numpy as np import pandas as pdfrom sklearn.base import BaseEstimator, TransformerMixinfrom sklearn.utils.multiclass import type_of_targetfrom sklearn...原创 2019-08-25 14:23:47 · 363 阅读 · 0 评论 -
记录一个自定的CategoricalTransformer
前言自定义了一个简单的字符变量的变形器,代码如下。import numpy as np import pandas as pdfrom sklearn.base import BaseEstimator, TransformerMixinfrom sklearn.preprocessing import LabelEncoder, OneHotEncoder, StandardScale...原创 2019-08-25 21:56:31 · 308 阅读 · 0 评论 -
一个pipeline的例子
记录一个pipeline的例子,代码如下#Categrical features to pass down the categorical pipeline cateforical_features = ['date', 'waterfront', 'view', 'yr_renovated']#Numerical features to pass down the numerical p...原创 2019-08-25 22:36:48 · 802 阅读 · 0 评论 -
学习一下sklearn 中的BaseEstimator
学习一下sklearn 中的BaseEstimator, 源代码如下:class BaseEstimator: """Base class for all estimators in scikit-learn Notes ----- All estimators should specify all the parameters that can be set ...原创 2019-08-16 15:47:16 · 7108 阅读 · 1 评论 -
python中的quicksort 和mergesort
def quicksort(alist): return quicksorthelper(alist, 0 , len(alist)-1) def quicksorthelper(alist, first, last): if first < last: splitpartition = partition(alist, first, last) ...原创 2019-09-24 11:57:55 · 498 阅读 · 0 评论 -
关于ValueError: Input contains NaN, infinity, or a value too large for dtype ('float64')”
问题描述在替换数值型字段时, 选择将空值替换为该列的平均值, 代码如下:df[col].fillna(df[col].mean(), inplace=True)然后在调用scale类转化时,还是出现了如下错误ValueError: Input contains NaN, infinity, or a value too large for dtype ('float64')”检查了一...原创 2019-08-07 10:13:08 · 912 阅读 · 0 评论 -
记录一个python decorator的例子
import functoolsimport loggingfrom functools import wrapsdef get_class(): return 'MAIN_CLASS"def create_logger( name = __name__): logger = logging.getLogger(name) logger.setLevel(Logging.INFO...原创 2019-08-05 20:55:12 · 195 阅读 · 0 评论 -
使用flask时候出现zmq.error.ZMQError: Address already in use错误
问题描述在使用如下flask代码时候,出现了zmq.error.ZMQError: Address already in use的错误from flask import Flask, request, redirect, url_for, flash, jsonifyimport numpy as npimport pickle as pimport jsonapp = Flask...原创 2019-07-31 09:40:01 · 4483 阅读 · 0 评论 -
Redhat上离线/非root安装python库
文章目录问题概述主要思路NotesUse external python packageRPM packageUsing rpm2cpio (Recommended)Test python package using `export PYTHONPATH`Build rpm pacakge from sourceLinux releasePython release versionInstall ...原创 2019-02-16 12:09:09 · 868 阅读 · 0 评论 -
Mac/Anaconda — conda install慢的解决方法
查看了Anaconda 镜像使用帮助我们可以通过以下命令为Anaconda添加仓库conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anacond...原创 2019-02-23 15:58:55 · 5948 阅读 · 0 评论 -
Pandas加载含有嵌套(nested)文档的mongodb数据
文章目录读取Mongo数据到Pandas的dataframe中不含嵌套数据含有嵌套数据读取Mongo数据到Pandas的dataframe中我们可以通过pymongo包连接mongodb进行数据处理,然后将数据存储到pandas的dataframe里面。例子中的student表的数据结构如下:{’_id’: ObjectId(‘5c7138f4e0411eb39749fdff’), ‘na...原创 2019-02-23 20:42:04 · 2546 阅读 · 2 评论 -
将时间戳(timestamp)转换为MongoDB中的ObjectId
文章目录什么是ObjectIdObjectId的构造方法ObjectId实例方法ObjectId与Timestamp的转换shellpythonjavascript什么是ObjectIdObjectId是MongoDB文档的默认主键,通常位于插入文档的_id字段中。例如:{ "_id": ObjectId("507f1f77bcf86cd799439011")}ObjectI...原创 2019-02-25 10:21:46 · 6824 阅读 · 2 评论 -
Pig Control Structures控制结构 - 删除空文件输出
PigLatin中没有类似于if-else的控制结构。如果需要完成类似的控制结构,则需要使用embedded pig来完成。例如我们可以在Python中嵌入Pig Latin语句和Pig命令(请确保Jython jar包含在类路径中)。以下例子为判断pig作业是否出去结果,如果无输出结果,则删除hdfs的输出文件夹下的空文件:#/usr/bin/python3# explicitly imp...原创 2019-02-20 16:24:22 · 262 阅读 · 0 评论 -
Python中使用Scrapy爬虫抓取上海链家房价信息
文章目录前言准备工作创建一个新的Scrapy项目定义一个爬虫Spider导出抓取数据保存数据到数据库(MongoDB)前言之前用python写了一个简单的爬虫项目用来抓取上海链家上的一些房价信息,整理了下代码,特此记录准备工作安装Scrapy创建一个新的Scrapy项目例如,我们可以使用指令 scrapy startproject Lianjia 创建一个名为Lianjia的scr...原创 2019-03-02 12:05:47 · 5268 阅读 · 0 评论 -
Python Pandas中将csv文件转为excel的用法举例
Python Pandas中给我们提供了很多方便的api。比如我们就可以利用其与excel相关的api将csv转为excel,简单例子如下:from pandas.io.excel import ExcelWriterimport pandas as pd csv_files = ['file1.csv', 'file2.csv', ..., 'file5.csv']#excel nam...原创 2019-04-27 11:59:01 · 9384 阅读 · 4 评论 -
一个Python类中调用multiprocessing的小例子
import multiprocessing as mpimport functoolsimport logging#out of classdef call_func(instance, name, job_dict, arg): "indirect caller for instance methods and mp" return getattr(instance, name)...原创 2019-04-28 12:05:24 · 992 阅读 · 0 评论 -
如何在pyspark中与HDFS交互
如何pyspark与HDFS交互前言使用Java Gateway使用第三方库使用subprocesses子进程参考资料前言我们经常需要从Spark应用程序执行HDFS操作,无论是在HDFS中列出文件还是删除数据。如果使用scala写spark程序的话,我们可以调用hadoop相关的jar包对hdfs进行操作,但在Python Spark API(PySpark)并不能立即实现这一点,那么在p...原创 2019-05-04 10:04:50 · 2909 阅读 · 0 评论 -
如何在python(pyspark)中调用Scala或Java编写的UDF
前言启动Python进程的开销不小[1],但是真正的开销在于将数据序列化到Python中。推荐在Spark中定义UDF时首选Scala或Java,即使UDFs是用Scala/Java编写的,不用担心,我们依然可以在python(pyspark)中使用它们,简单示例如下://My_Upper UDFpackage com.test.spark.udfimport org.apache.sp...原创 2019-05-04 10:23:58 · 4310 阅读 · 0 评论 -
如何在PySpark中调用Scala/Java代码
前言虽然有充分的理由使用Python API开发Spark应用程序,但不可否认的是Scala是Spark的原生语言,有一些功能或第三方库并没有直接提供python版本。那么当我们想要使用一些PySpark不支持的功能,或者只是想在Python应用程序中使用Scala库该怎么办呢?下面的示例展示了如何在PySpark应用程序中调用Scala代码。示例Pyspark在解释器和JVM之间建立了...原创 2019-05-04 10:57:41 · 2466 阅读 · 1 评论 -
PySpark与Java/Scala交互中的一些常用的Spark对象
一些常用的Spark对象前言一些常用的Spark对象SparkContextSQLContextRDDSDataFrames参考资料前言在PySpark中调用Scala/Java代码时,我们会遇到一些负载的对象需要传递,例如一些spark对象。在环境之间(Python / Java)传递时,我们必须将Spark对象显式地包装/提取到java对象中。下面是一些常用的Spark对象。一些常用的...原创 2019-05-04 11:02:18 · 833 阅读 · 0 评论 -
如何在pyspark中处理多余空格 —— regex_replace/trim
我们在做数据清洗时经常用和一些多余无用的空格打交道,例如移除开头和末尾的空格,或将多个连续空格替换成一个等。以下提供几个在pypark中处理字段中多余空格的例子。import pyspark.sql.functions as Ffrom pyspark.sql.functions import coldef single_space(col): return F.trim(F.reg...原创 2019-04-29 09:50:47 · 4467 阅读 · 0 评论 -
在pymongo中如何将数据提取到有序字典OrderedDict里面
前言项目需要在原有的旧表里面添加一个新字段然后插入有一个新表里面,同时需要保持原有其他字段的顺序,如果直接使用pymongo读取的话,每一条document是存到到dict数据类型里面的,不能保证key的顺序。如果想保证key的顺序,就需要将数据存储到有序字典,也就是OrderedDict里面。搜索了一番,发现bson里面有更方便的方法,即使使用SON对象,例子如下:代码范例from bso...原创 2019-06-11 21:04:46 · 1274 阅读 · 0 评论 -
Pymongo index索引相关操作总结
简单总结一下pymongo中与index操作相关一些函数,。可参考一下代码&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;gt;import pymongo as pm&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;am原创 2019-02-21 15:20:45 · 11134 阅读 · 5 评论