![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
jiangjiane
起风了,唯有努力生存
展开
-
pandas多值列拆分成多行
@TOCpandas多值列中一行拆分成多行df = pandas.read_csv(file)其中需拆分列名为seq则df=df.drop([‘seq’], axis=1).join(df[‘seq’].str.split(’ ', expand=True).stack().reset_index(level=1, drop=True).rename(‘seq’))即可欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markd原创 2022-05-26 14:50:06 · 3324 阅读 · 1 评论 -
安装anconda之后默认进入base
@[TOC] 安装anconda之后默认进入base使用以下命令即可conda config --set auto_activate_base false你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会原创 2021-07-22 17:00:46 · 761 阅读 · 0 评论 -
Python中的__eq__和__hash__
参看知乎文章:谈谈__eq__和__hash__转载 2020-07-20 20:29:31 · 694 阅读 · 0 评论 -
Python模块collections中函数namedtuple的理解
Python中存储系列数据,比较常见的数据类型有list,除此之外,还有tuple数据类型。相比与list,tuple中的元素不可修改,在映射中可以当键使用。tuple元组的item只能通过index访问,collections模块的namedtuple子类不仅可以使用item的index访问item,还可以通过item的name进行访问。可以将namedtuple理解为c中的struct结构,其首先将各个item命名,然后对每个item赋予数据。例1:coordinate = namedtuple转载 2020-07-15 18:25:20 · 342 阅读 · 0 评论 -
重置loguru输出:只输出到文本,不向console输出
logger的默认有console输出,即sys.stderr,想要只输出到文本而不输出到console,则关闭sys.stderr即可。直接清理掉之前的handler设置就好,再进一步重置一个,如输出到特征文本:from loguru import logger# Remove a previously added handler and stop sending logs to its sink.logger.remove(handler_id=None) # 清除之前的设置# 设置生原创 2020-07-14 20:16:37 · 5724 阅读 · 2 评论 -
shell中开启conda虚拟环境
eval "$(conda shell.bash hook)"conda activate <env-name>原创 2020-07-01 14:54:22 · 2586 阅读 · 2 评论 -
pickle序列化python类实例,redis持久化python类实例
当我们想要持久化Python实例的时候,可以使用两种方式进行:1、可以先将对象转成字符串格式再进行保存:使用pickle的dumps,loads,这里需要使用带s的函数,表示中间层是以字符串作为中介的。例如:先创建一个测试类class SomeCustomObject: def __init__(self): pass def func(self): print("test code")将类实例持久化到本地:import pick原创 2020-06-06 13:35:45 · 1208 阅读 · 0 评论 -
Pandas错误:ValueError: could not convert string to float
原因:部分数值型的列中混入了字符串,将其找出转为浮点数即可。# 把所有列的类型都转化为数值型,出错的地方填入NaN,再把NaN的地方补0# 该操作之后,object的列(列中存储的是string类型)转成了floatdata[col] = data[col].apply(pd.to_numeric, errors='coerce').fillna(0.0) ...原创 2020-04-02 10:16:08 · 8224 阅读 · 4 评论 -
[笔记]更换pip源为国内镜像
更换pip源为国内镜像源:参看这个篇博客。转载 2020-03-19 13:53:22 · 276 阅读 · 0 评论 -
pandas中pivot_table详解(超详细)
转载笔记备份:https://www.cnblogs.com/Yanjy-OnlyOne/p/11195621.html转载 2020-03-05 20:02:55 · 3434 阅读 · 0 评论 -
多版本py对应的pip 升级后, pip2 pip3 与python版本不对应
原因是升级过程中,将所有py低版本pip都卸载了,解决方案:curl https://bootstrap.pypa.io/get-pip.py -o get-pip.pysudo python3 get-pip.py # 先恢复py3sudo python2 get-pip.py # 后恢复py2...原创 2019-12-30 17:32:52 · 1514 阅读 · 0 评论 -
pip升级之后出现:/usr/bin/pip: No such file or directory
这是因为缓存的问题造成的,解决方案:1.which pip /usr/local/bin/pip2.pip -bash: /usr/bin/pip: No such file or directory3.type pip pip is hashed (/usr/bin/pip) So pip is definintely in /usr/local/bin/pip but i...原创 2019-12-30 17:30:11 · 2467 阅读 · 0 评论 -
centos6.10-Python3字符编码问题
出错信息:[UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128]解决方案:(1)设置环境变量LANG在linux或Mac上设置环境变量的方式一样,编辑~/.bash_profile文件(’~’指的是用户登录后的默认目录),添加一行:export LANG=...转载 2019-12-19 10:42:54 · 388 阅读 · 0 评论 -
Pandas中空字符串(非缺失值)处理方法
在使用pandas处理数据时,会遇到这样一个问题:打开文档查看某些列明显有很多是空的,但是在python里用dataframe.info统计出来并不是空的,这是因为excel表里这些数据看起来是空的值,但其实是一个空格,但是用isnull判断是为False的。解决方案:对整张表dataframe替换空格为np.nan,可以使用replace方法通过正则匹配空格,然后替换:...原创 2019-12-16 11:08:35 · 5956 阅读 · 1 评论 -
Python内置hash函数为什么运行两次值不一样
解释一python的字符串hash算法并不是直接遍历字符串每个字符去计算hash,而是会有一个secret prefix和一个secret suffix,可以认为相当于是给字符串加盐后做hash,可以规避一些规律输入的情况显然这个secret前后缀的值会直接影响计算结果,而且它有一个启动时随机生成的机制,只不过,在2.x版本中,这个机制默认是关闭的,前后缀每次启动都设置为0,除非你改了相关...转载 2019-11-05 11:09:17 · 6027 阅读 · 0 评论 -
彻底解决Matplotlib显示中文问题
1. 查看matplotlib配置文件import matplotlibprint(matplotlib.matplotlib_fname())Out:{your-matplotlib-installed-path}/mpl-data/matplotlibrc2. 下载simhei字体 点击下载simhei字体3. 复制字体文件 将下载的字体文件复制到第一步显示...原创 2019-11-05 10:50:13 · 458 阅读 · 0 评论 -
super的使用详解-Python
super主要用来调用父类方法,显式调用父类,在子类中,一般会定义与父类相同的属性(数据属性,方法),从而来实现子类特有的行为。也就是说,子类会继承父类的所有的属性和方法,子类也可以覆盖父类同名的属性和方法。class Parent(object): Value = "Hi, Parent value" def fun(self): print("This i...原创 2019-10-28 14:42:50 · 1934 阅读 · 0 评论 -
unittest-Python单元测试框架
用Python搭建自动化测试框架,我们需要组织用例以及测试执行,这里博主推荐Python的标准库——unittest。unittest是xUnit系列框架中的一员,如果你了解xUnit的其他成员,那你用unittest来应该是很轻松的,它们的工作方式都差不多。unittest核心工作原理unittest中最核心的四个概念是:test case, test suite, test runner, t...转载 2018-01-19 20:24:36 · 321 阅读 · 0 评论 -
删除本地目录下某一时间点之前创建的所有文件-Python
因为工作原因,需要定期清理某个文件夹下面创建时间超过1年的所有文件,所以今天集中学习了一下Python对于本地文件及文件夹的操作。网上 这篇文章 简明扼要地整理出最常见的os方法,抄袭如下:os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前目录('.')os.chdir(dirname):改变工作目录到dir...原创 2018-07-10 14:21:18 · 1132 阅读 · 0 评论 -
判断目录是否存在,若不存在即创建-Python
判断目录是否存在,不存在创建一个新的:import osif not os.path.isdir(dir_name): os.makedirs(dir_name)os.mkdir()创建路径中的最后一级目录,而如果之前的目录不存在并且也需要创建的话,就会报错。os.makedirs()创建多层目录,如果中间目录都不存在的话,会自动创建。...原创 2018-07-10 14:26:10 · 14894 阅读 · 1 评论 -
pandas每次多Sheet写入文件
pandas每次多Sheet写入文件,只能一次性存入,不然每次会重写文件,最后只保留最后一次的写入。# !usr/bin env python# -*- coding: utf-8 -*- import pandas as pdprice_path = 'ASHAREEODPRICE.csv'df_price = pd.read_csv(price_path)for i in xr...原创 2018-07-04 11:39:20 · 2535 阅读 · 0 评论 -
八大排序-Python
一、插入排序#-*- coding:utf-8 -*-'''描述插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即...原创 2018-07-05 11:00:24 · 496 阅读 · 0 评论 -
Numpy.random中shuffle与permutation的区别
shuffle与permutation的区别函数shuffle与permutation都是对原来的数组进行重新洗牌(即随机打乱原来的元素顺序);区别在于shuffle直接在原来的数组上进行操作,改变原来数组的顺序,无返回值。而permutation不直接在原来的数组上进行操作,而是返回一个新的打乱顺序的数组,并不改变原来的数组。示例:a = np.arange(12)print anp.ran...原创 2018-07-13 22:59:27 · 617 阅读 · 1 评论 -
Python 字典get()方法
Python 字典get() 函数返回指定键的值,如果值不在字典中返回默认值。dict.get(key, default=None)即:key -- 字典中要查找的键。default -- 如果指定键的值不存在时,返回该默认值值。...原创 2018-07-13 23:06:38 · 11804 阅读 · 0 评论 -
Numba的约5分钟指南-Python执行加速
转载自:https://www.cnblogs.com/yhleng/p/9920666.html1.1。Numba的约5分钟指南Numba是Python的即时编译器,它最适用于使用NumPy数组和函数以及循环的代码。使用Numba的最常用方法是通过其装饰器集合,可以应用于您的函数来指示Numba编译它们。当调用Numba修饰函数时,它被编译为机器代码“及时”执行,并且您的全部或部分代码随...转载 2019-04-26 20:29:39 · 11997 阅读 · 0 评论 -
装饰器@staticmethod和@classmethod-Python
转载自:没找到原始出处,转载自该博客讲解一一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。这有利于组织代码,把某些应该属于某个类的函数给放到那个类里去,同时有利于命名空间的整洁。既然@staticmethod和@classmethod都可以直接类名.方法名()来调...转载 2019-05-07 15:43:30 · 294 阅读 · 0 评论 -
UnicodeDecodeError: 'gbk' codec can't decode byte 0xac in position 1253: illegal multibyte sequence
使用python的时候经常会遇到文本的编码与解码问题,其中很常见的一种解码错误如题目所示,下面介绍该错误的解决方法,将‘gbk’换成‘utf-8’也适用。(1)、首先在打开文本的时候,设置其编码格式,如:open(‘1.txt’,encoding=’gbk’);(2)、若(1)不能解决,可能是文本中出现的一些特殊符号超出了gbk的编码范围,可以选择编码范围更广的‘gb18030’,如:op...转载 2019-07-08 19:05:52 · 18324 阅读 · 2 评论 -
保留小数时有效位数设置—Python
In [11]: a=0.0004504657 In [12]: '%.2g' % a Out[12]: '0.00045'原创 2019-08-15 18:52:51 · 8268 阅读 · 1 评论 -
matplotlib数据流获取
转载自:C小C-使用matplotlib.pyplot所画图片的二进制流获取方法以及如何将它转换为图片array(附代码)概述在python中,可以通过matplotlib.pyplot进行画图并可以使用plt.savefig(save_path, dpi= ])进行保存,但是要如何才能获取所画的图的数据呢?本文主要是通过输入输出流d的io.BytesIO()方法获得所画的图的二进制流数据...转载 2019-08-15 19:39:01 · 1983 阅读 · 0 评论 -
Pyinstaller(python打包为exe文件)
需求分析:python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速。当然打包的脚本似乎不是在所有的win平台下都能使用,win7有一部分不能使用,我在win10能够很好的运行。准备: pyinstaller(http://www.pyinstaller.org/) 首先还是去官网看支持的python版本,不然会很尴尬的#安装...转载 2018-06-25 17:46:31 · 754 阅读 · 0 评论 -
Python + logging 输出到屏幕,将log日志写入文件
日志日志是跟踪软件运行时所发生的事件的一种方法。软件开发者在代码中调用日志函数,表明发生了特定的事件。事件由描述性消息描述,该描述性消息可以可选地包含可变数据(即,对于事件的每次出现都潜在地不同的数据)。事件还具有开发者归因于事件的重要性;重要性也可以称为级别或严重性。logging提供了一组便利的函数,用来做简单的日志。它们是 debug()、 info()、 warning()、 error(...转载 2018-06-25 17:43:01 · 15926 阅读 · 0 评论 -
Next Permutation-Python
原题地址:https://oj.leetcode.com/problems/next-permutation/转载自:点击打开链接题意:Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangem...转载 2018-03-11 20:57:38 · 541 阅读 · 0 评论 -
Python标准库——collections模块的Counter类
转载:点击打开链接1.collections模块collections模块自Python 2.4版本开始被引入,包含了dict、set、list、tuple以外的一些特殊的容器类型,分别是:OrderedDict类:排序字典,是字典的子类。引入自2.7。namedtuple()函数:命名元组,是一个工厂函数。引入自2.6。Counter类:为hashable对象计数,是字典的子类。引入自2.7。d...转载 2018-03-16 20:04:32 · 183 阅读 · 0 评论 -
[leetcode]Reverse Nodes in k-Group - Python
原题地址:https://oj.leetcode.com/problems/reverse-nodes-in-k-group/题意:Given a linked list, reverse the nodes of a linked list k at a time and return its modified list.If the number of nodes is not a multi...转载 2018-03-08 22:23:14 · 725 阅读 · 0 评论 -
Swap Nodes in Pairs - Python
原题地址:http://oj.leetcode.com/problems/swap-nodes-in-pairs/Given a linked list, swap every two adjacent nodes and return its head.For example,Given 1->2->3->4, you should return the list as 2-&...转载 2018-03-08 22:09:01 · 425 阅读 · 0 评论 -
20. Valid Parentheses [easy] (Python)
题目链接https://leetcode.com/problems/valid-parentheses/题目原文Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid.The brackets must close in...转载 2018-03-07 19:55:35 · 215 阅读 · 0 评论 -
整数与罗马数字相互转换-Python
罗马数字总共有7个:I(1),v(5),X(10)、L(50)、C(100)、D(500)和M(1000)运算规则:重复数次:一个罗马数字重复几次,就表示这个数的几倍。例如III表示的就是3右加左减:在较大的罗马数字的右边记上较小的罗马数字,表示大数字加小数字。例如vIII表示的就是8在较大的罗马数字的左边记上较小的罗马数字,表示大数字减小数字。例如IV表示的就是4左减的数字有限制,仅限于I、X、...原创 2018-03-06 21:43:28 · 8340 阅读 · 2 评论 -
详解Python中的下划线
转载说明:本文由 伯乐在线 - PyPer 翻译,笑虎 校稿。原文链接:点击打开链接英文出处:shahriar.svbtle.com。欢迎加入翻译组。本文将讨论Python中下划线(_)字符的使用方法。我们将会看到,正如Python中的很多事情,下划线的不同用法大多数(并非所有)只是常用惯例而已。单下划线(_)通常情况下,会在以下3种场景中使用:1、在解释器中:转载 2018-01-10 11:24:53 · 1249 阅读 · 0 评论 -
Python property 与get/set方法详解
转载自:点击打开链接1.java里get/set方法大部分的同学开始写java代码的时候,最初始的代码肯定是字段的get/set方法。大家对于java特别冗长的诟病,很大一部分来自于无处不在的get/set方法。甚至国内有相当一部分不负责任的java书籍,里面靠大段的get/set代码来拼凑篇幅。。。 来个最简单的例子,估计大家都写过类似的代码:public class转载 2018-01-25 13:25:20 · 2460 阅读 · 0 评论 -
Python软件目录结构规范
转载自:点击打开链接软件开发规范一、为什么要设计好目录结构?1.可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这个项目。2.可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。这个好处是,随着时间的推移,代码/配置的规模增加,项目转载 2018-01-23 20:18:35 · 1246 阅读 · 0 评论