
python
XiaomengYe
脚踏实地,专注,升华
展开
-
python路径相关
最近参加比赛,在提交docker镜像到云端的过程中,遇到了不少问题,其中关于python路径的问题着实浪费了很多时间。这里把它总结一下,以后遇到时方便查询。绝对路径...原创 2020-03-03 00:06:13 · 345 阅读 · 0 评论 -
IPython常用magic函数(持续更新)
1.%load_ext magic运行每个notebook内每个code都默认运行magic2. %time打印测模块运行时间3. %autoreload + num自动重新加载修改过的包原创 2020-02-29 00:04:20 · 676 阅读 · 0 评论 -
jupyter notebook matplotlib绘制动态图并显示在notebook中
有些时候matplotlib 的绘图没法显示在notebook中,或者显示不了。这与backend有关。首先启动你的notebook,输入%pylab查看你的matplotlib后端,我的输出为:Qt5Agg这是后端的渲染方式,使用的是qt5渲染。激活方式为在绘图之前插入代码段:%matplotlib qt5这样就能显示出图,但是是显示在notebook之外的,如果我使...转载 2020-01-31 20:37:23 · 3543 阅读 · 0 评论 -
pip安装忽略版本限制
加入后缀 --no-dependencies原创 2019-11-29 10:15:10 · 7376 阅读 · 1 评论 -
pandas中axis的方向
axis=0 指纵向axis=1 指横向原创 2019-10-30 14:14:57 · 246 阅读 · 0 评论 -
python序列化 -- pickle和json
提下序列化的知识点,目的有两个:1. 存储或者传输抽象的代码对象(这个对象可以是一个类,一个字典等等,这些事物无法脱离py文件单独存在,所以我们统一制定一个统一编码标准将其转为二进制字节,到用的时候再解码)2. 持久化存储,我们知道有些文件存储是以某种编码形式存在的;换句话说,换台机器用不同的编码格式,该文件的二进制字节格式完全不同。所以我们需要有一个统一的编码和解码方法将文件或者对象存储...原创 2019-10-09 11:24:49 · 133 阅读 · 0 评论 -
python的正则表达式使用(持续更新)
本文仅就python内置re模块的一些功能做简要记录,其中和bash语句中重合的部分不做介绍。1. re.escape(pattern):如果正则语句中需要使用诸如 $、[]、“”、这样有特殊含义字符的字面形式,往往要在对应文本中假如很多的“\”,这样是很麻烦的,而escape函数可以很方便的做到这一点:import rere.escape('!"#$%&\'()*+,-./:...原创 2019-08-03 21:34:47 · 131 阅读 · 0 评论 -
zip以及其逆运算
zip的功能:在若干可迭代的对象中,依次从每个对象抽出一个合并成元组,最终这些元组将一个可迭代对象:a = ['I', 'love', 'you']b = (1,2,3)c = ('see', 'you', 'tommorow')print (list(zip(a,b,c)))# 输出:[('I', 1, 'see'), ('love', 2, 'you'), ('you', 3,...原创 2019-07-19 15:43:18 · 873 阅读 · 0 评论 -
python常用装饰器(持续更新)
1 @staticmethod和@classmethod类似于java的静态类方法,区别在@classmethod需要在参数加 'cls' 以表明自己是类方法,且@classmethod可以调用类属性(即勒种不带self.前缀的属性)...原创 2019-07-13 11:02:36 · 786 阅读 · 0 评论 -
py文件常见头语句(持续更新)
1. #!/usr/bin/python3和 #!/usr/bin/env python3 二者都是表明要使用python3解释器,区别在于前者写死了路径,而后者没有所以比较灵活2.# -*- coding: utf-8 -*- 使用 utf-8编码...原创 2019-07-13 11:02:26 · 659 阅读 · 0 评论 -
python模仿java接口功能
python可以模仿java实现接口功能,将父类方法下放到具体子类中实现。具体做法也很简单,只要在父类的方法代码中仅仅写上raise NotImplementedError("Each Model must re-implement this method."),也就是如果子类不实现方法就报错。当然,利用同样的方法也可以模仿抽象类。当然,这只是我的理解,或许有更好的方法我也说不定。时间...原创 2019-07-12 22:07:20 · 502 阅读 · 0 评论 -
列表解析与生成器与yield
列表解析列表解析可以看做是python对于列表生成的一个语法糖,可以使得生成列表的多行代码压缩成一行,如下列表解析所示:[i for i in range(0,3)]# 输出:[0,1,2]换成普通代码为:l = []for i in range(0,3): l.append(i)l# 输出:[0,1,2]这样为阅读代码以及编写带来了方便性生成器从形...原创 2019-07-10 18:25:37 · 154 阅读 · 0 评论 -
python方法参数中的"*"和"**" ——动态参数
有时候我们会在python代码中看到诸如一下形式参数:def func(*args, **kwargs): print (args) print (kwargs)这是python中动态参数的表示,有时候我们要传入参数的数目不确定,这时候就需要用到动态参数。其中*代表要把传入的参数转为一个元组,而**代表要把传入额参数转为一个字典。我们来看一下例子:def func_...原创 2019-07-10 11:29:11 · 909 阅读 · 0 评论 -
python命令行参数解析工具——argparse
在命令行中运行py文件的时候(这在linux系统中尤为常见),是否可以像运行内部的函数那样设置可变参数呢?这样做可以避免进入py文件再次编写文件的尴尬,同时也意味着减少bug的发生。argparse就是这样可以在帮助在命令行中添加参数的工具,基本的使用方法如下代码所示:# -*- coding: utf-8 -*- import mathimport argparse# argp...原创 2019-07-08 16:22:24 · 416 阅读 · 0 评论 -
python基本数据结构
Python 基本数据结构:list、tuple、dict、set基本数据结构常用函数List1. append和 extendlist.append(a) 意为将 a 作为整体加入listlst = [1,2,3,4,5]lst.append([,2,3])print (lst)# 输出:[1, 2, 3, 4, 5, [1, 2, 3]]list.extend(...原创 2019-07-05 15:37:38 · 591 阅读 · 0 评论 -
pandas合并与联接操作
合并pandas中的合并操作和sql中的join操作非常相似。假设有df1,df2需要合并,参数on代表通过那个键合并:# 通过key字段合并,类似于 mysql 的 select * from df1 inner join df2 on df1.key = df2.keypd.merge(df1,df2,on='key')如果用于合并的键位名字不同,我们也可以分别制定:...原创 2019-06-11 16:16:39 · 153 阅读 · 0 评论 -
pandas分组与聚合基本知识
关于分组,我们可以借鉴下图来说明其原理(一张图胜过千言万语):分组对象pandas关于一个DataFrame或者Series的分组可以抽象为一个对象,在此基础之上我们可以使用不同的聚合函数来操作:df = pd.DataFrame({'key1': ['a','a','b','b','a'], 'key2': ['one', 'two','one', 'two','one'], ...原创 2019-06-11 12:14:37 · 303 阅读 · 0 评论 -
python时间处理 -- time、datetime以及pandas(持续更新)
time模块和datetime模块的关系time模块偏向于底层,datetime可以看做time模块的高层应用封装。time模块time模块主要包括了一些比较基础的功能如 获取时间戳 time.time(),转换时间戳至时间字符串 time.ctime(a), 时间结构(由9个值构成的时间结构)time.time_struct等等。因为在数据分析中 time 模块用的不多,在此不做赘述...原创 2019-06-10 14:58:24 · 2030 阅读 · 0 评论 -
python内置函数 -- 对象属性
1. dir() 返回对象的属性列表class foo: passdir(foo)输出:['__doc__', '__module__']2.getattr() 返回一个对象的某一个属性值class foo: a = 1 passf = foo()getattr(f, 'a')输出:13.isinstance 判断对象的类型c...原创 2019-06-10 11:37:09 · 330 阅读 · 0 评论 -
pandas基本知识
我们在用python进行数据分析时,pandas包是一个非常好的辅助工具,熟练的利用pandas可以让我们在做EDA时有更高的效率,因此了解pandas的基本用法是很必要的。pandas的2个基本结构Series和DataFrame我们可以这么理解Series,它就是一组数据(必须是同一类型的numpy数据)加上用于索引的index,例如:import pandas as pdva...原创 2019-06-05 11:54:51 · 401 阅读 · 0 评论