
Python
会飞的猩猩。
这个作者很懒,什么都没留下…
展开
-
如何修改聚合后的数据的index
>>> data.groupby(['name']).agg(age_sum = ('age','sum'),age_mean=('age','mean')).reset_index() name age_sum age_mean0 x 70 35.01 y 93 46.52 z 30 30.0原创 2020-09-04 20:15:42 · 1139 阅读 · 0 评论 -
DataFrame groupby+agg出现SpecificationError: nested renamer is not supported的错误
这个应该是pandas的版本问题,我的是v1.0.5>>> import pandas as pd>>> data=pd.DataFrame({'name':['x','y','x','y','z'],'sex':['f','m','f','f','m'],'age':[25,26,45,67,30]})>>> data name sex age0 x f 251 y m 262 x f .原创 2020-09-04 19:58:57 · 4712 阅读 · 0 评论 -
在终端里启动Tensorboard的详细步骤
1.需要在代码中插入一段将信息写入graph的代码以下面这段代码为例import tensorflow as tf#重新设置默认的graph,否则之前的所有的graph会在一张图中tf.reset_default_graph()logdir = '/Users/zhangxin/Documents/tb1'#这里为我在桌面上新建的文件夹的路径a = tf.constant(2, name = 'a')b = tf.constant(3, name = 'b')sum_out = t原创 2020-06-25 18:55:33 · 4667 阅读 · 0 评论 -
【Python】处理时间数据格式出现time data does not match format valueError
ValueError: time data '19970004' does not match format '%Y%m%d' (match)原创 2020-06-04 11:41:39 · 73181 阅读 · 6 评论 -
【Python】对DataFrame空值进行统计
现实中的数据,总是不理想的,比如说数据中有的列会存在缺失值。缺失值太多的样本本身没有太多的信息,对训练模型就没有作用。同时,缺失值会影响模型,特别是使用度量相关的模型。如KNN和SVM。### 统计数据每列的缺失数量ListData.isnull().sum()Out[11]: id 0name 1host_id原创 2020-05-29 17:14:06 · 11018 阅读 · 0 评论 -
回归问题评估模型的三个指标
我们通常都会训练多个模型,可以通过下面几个方法来评估模型的好坏转载 2020-05-06 17:55:22 · 5372 阅读 · 0 评论 -
【Python】Dataframe删除空值
上一篇文件讲了如何判断Datafram里面的空值,这一篇我们聊一下如何删除Dataframe中的空值。翻译 2020-03-27 20:50:23 · 37113 阅读 · 2 评论 -
【Python】如何读取文件夹下的所有文件
有时候需要处理一个文件夹下面所有的文件,一个个的将文件的名字复制粘贴到代码里太麻烦了,我们可以一次性读取文件夹里面所有的文件。import ospath = '/Users/zhangxin/Desktop/文件夹/'files = os.listdir(path)i = 0for file in files: try: used_name ...原创 2020-03-18 22:41:30 · 11872 阅读 · 2 评论 -
Windows系统安装Tensorflow,出现mportError: DLL load failed: 动态链接库(DLL)初始化例程失败
看见网上有很多说用anaconda安装tensorflow, 其实并没有这么复杂,直接安装即可。环境版本:python: 3.6.5tensorflow: 1.5.0如果直接使用下面的命令行安装会非常慢,而且经常time out,根本就下不下来。因为这是从国外的服务器上下载文件。python -m pip install tensorflow使用清华镜像就可以快速的下载文...原创 2020-03-16 11:48:29 · 1987 阅读 · 3 评论 -
zip函数在【Python2】和【Python3】中的区别
从python2到python3,zip函数的使用发生了很大的变化。在python2中,zip函数返回的是一个list,可以直接使用list相关的函数,比如,len(), 索引。zip2 = zip([1,2,3],[4,5,6])print zip2print len(zip2)print zip2[0][(1, 4), (2, 5), (3, 6)]3(1, 4)...原创 2020-03-04 16:08:51 · 752 阅读 · 0 评论 -
【Python】将字符串转为list
之前经常使用[]将其他格式的字段转为list,后面发现不太对。下面举例说明list()方法和直接使用[]的区别:>>> s = '233'>>> list(s)['2', '3', '3']>>> [s]['233']直接使用[]只是把整个字符串变为list,而使用list()方法是将字符串拆分为单个字符, 并存为list类型...原创 2020-02-10 23:26:39 · 3131 阅读 · 0 评论 -
pandas.read_csv() 报错 OSError: Initializing from file failed,报错原因分析和解决方法
Python版本:Python 3.6pandas.read_csv() 报错 OSError: Initializing from file failed,一般由两种情况引起:一种是函数参数为路径而非文件名称,另一种是函数参数带有中文。亲测有效,解决了我的问题!!# -*- coding: utf-8 -*-"""Created on Mon Jun 4 09:44:36 2018...转载 2020-01-09 12:38:30 · 318 阅读 · 0 评论 -
KS曲线和ROC曲线(二)
上一篇文章我们说了KS曲线和ROC曲线的理论知识,这篇文章我们来实际操作一下。import pandas as pdfrom sklearn.metrics import roc_curveimport matplotlib.pyplot as plt### 构造数据data = [[1,1,0,1,0,0],[0.9,0.8,0.5,0.6,0.2,0.6]]### 转化喂da...原创 2019-12-25 15:02:38 · 1204 阅读 · 1 评论 -
【Python】pass,continue和break的区别
又是一个表明我基础不扎实的点,上一个是【Python】重新认识or运算pass经常作为代码里面的占位符,不知道写啥时就可以写个pass放在哪儿,后面再写。我们可以看到下面一段代码,pass后面的代码还是会继续执行,也就是当前的循环还在继续。ls = [0,1]for i in ls: if i == 0: pass print(i)01con...原创 2019-12-20 18:20:48 · 3990 阅读 · 0 评论 -
【Python】pandas 读取excel文件报错UnicodeDecodeError: 'utf-16-le' codec can't decode bytes in position 60-61
今天在用pandas读取同事传过来的excel时,出现了UnicodeDecodeError: 'utf-16-le' codec can't decode bytes in position 60-61: unexpected end of data的问题。找了一圈儿是因为同事传过来的excel后缀名是xls,新建一个xlsx的excel然后将内容复制进去就可以了。直接对原来的xls文档另存...原创 2019-12-16 16:36:23 · 9887 阅读 · 3 评论 -
【Python】将Dataframe转化为字典(dict)
【Python】将字典转化为Dataframe有时候我们需要Dataframe中的一列作为key,另一列作为key对应的value。比如说在已知词频画词云的时候,这个时候需要传入的数据类型是词典。import pandas as pddata = pd.DataFrame([['a',1],['b',2]], columns=['key','value'])dict1 = dic...原创 2019-12-11 10:24:03 · 56452 阅读 · 8 评论 -
【Python】深拷贝和浅拷贝
浅拷贝简单赋值其实也是一种浅拷贝。通过下面的例子我们可以看到,即使提前将ls的值赋给了ls1,后面对ls进行排序时,ls1的值也排序了。>>> ls = [1,3,2]>>> ls1=ls>>> ls1[1, 3, 2]>>> ls.sort()>>> ls[1, 2, 3]>&...原创 2019-11-29 15:18:29 · 197 阅读 · 0 评论 -
【Python】重新认识or运算
今天在刷leetcode的时候,看别人的代码时,认识了一个新的or运算(还是基础不扎实[捂脸])之前认识的or运算我之前认为的or运算是,只有两个值都是false的时候,输出的结果才是false'False' or 'False'Out[43]: 'False'0 or 0Out[40]: 0之后认识的or运算当两个值中有一个值为非零时,就返回第一个非零的值。这种...原创 2019-11-25 18:20:07 · 833 阅读 · 0 评论 -
【Python】生成全0矩阵的方法
1. 使用numpy生成0矩阵(1). np.zeros((行数,列数))import numpy as np### 生成一个两行,三列的矩阵np.zeros((2,3))Out[2]: array([[0., 0., 0.], [0., 0., 0.]])(2). np.full((行数,列数), 填充的数值)。这种方法相对于第一种方法更加的通用,可以指定填...原创 2019-11-25 17:22:25 · 58549 阅读 · 0 评论 -
【Python】【DataFrame】TypeError: argument of type 'float' is not iterable
有时候在迭代Dataframe的时候会出来一个TypeError,感觉真的是莫名奇妙。比如针对下面这个数据,想把duration里面的字符’s‘去掉,运用下面的代码就报错了。tempDataOut[12]: duration likes0 2.3 891 3s 67tempData.duration = tempData.durati...原创 2019-11-14 15:29:55 · 12057 阅读 · 3 评论 -
【Python】【DataFrame】判断空值出现TypeError的错误
一直用的是numpy的np.isnan()来判断,结果今天用的时候就爆了下面的错误TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule '...原创 2019-11-14 15:38:06 · 1649 阅读 · 0 评论 -
使用pyecharts画词云(wordcloud)
词云是一个比较常见的数据可视化方法,通过词的大小可以让人一眼就可以看到哪个词比较突出。我现在知道的画词云的方法有两种,一种是用pyecharts,另一种是用python的wordcloud包。这里主要讲使用pyecharts画词云的方法。pyecharts github的链接:https://github.com/pyecharts/pyecharts,但是感觉写的不是很清楚啊用pye...原创 2019-08-07 17:22:47 · 14162 阅读 · 0 评论 -
pyquery根据标签查询元素失败
最近在做淘宝美食信息爬取练习的时候,发现用pyquery根据标签不能获取元素。后来发现主要是因为标签里面包含了xmlns="http://www.w3.org/1999/xhtml"属性,去掉这个属性,或者用标签的其他属性就可以获取到元素信息.在这里举一个原创 2018-09-23 14:39:38 · 1513 阅读 · 2 评论 -
【Python】【 DataFrame】判断某一列的值是否包含另一列的值
在操作DataFrame的时候偶尔会需要判断同一个DataFrame中的一列是否包含另一列的元素,首先想到的就是用 in 和 not in,可是直接使用会报错:import pandas as pddata = {'地址1':['广东深圳','广东汕头','重庆'],'地址2':['深圳','揭阳','北京']}df = pd.DataFrame(data)df = df[df.a...原创 2019-10-17 10:16:57 · 29235 阅读 · 1 评论 -
python爬取自如房间信息(二)
主要是针对自如房价的爬取 。以下代码对房价图片进行处理,将里面的数字提取出来,然后用knn最近邻算法去对图片上的数据进行分类。import sysimport cv2import numpy as np ####### training part ############### samples = np.loadtxt('generalsamples.data',np....原创 2018-11-05 00:18:21 · 696 阅读 · 0 评论 -
python爬取自如房间信息(一)
使用python和selenium+Chrome Headless爬取自如房间信息,并将结果存储在MongoDB中。其中最麻烦的应该是每间房的价格,因为自如是用一张图片和offset来显示价格,所以不能直接获得。但我们可以通过将图片转为文字,再通过偏移量将数字组合为价格。在这里我们使用的是Chrome Headless而不是PhantomJS, 主要是因为前者不需要设置size大小,同时也更加...原创 2018-10-30 22:45:50 · 4921 阅读 · 0 评论 -
metrics.roc_curve()输出的tpr或fpr的结果为nan
在用metrics.roc_curve()函数计算tpr的时候,出现tpr为nan的情况,主要是因为label里面没有正样本的标签。下面是roc_curve()里面的一段源码,其中tps[-1]存放的是所有的正样本。同理,如果fpr出现nan的情况是因为label里面没有负样本。 if fps[-1] <= 0: warnings.warn("No negative...原创 2018-09-30 15:00:20 · 11402 阅读 · 7 评论 -
pyquery 获取标签children的text的值为None
感觉爬虫里面有很多的小坑,这也是其中之一。在写爬虫的时候,发现一直获取不了children的text,返回的值为 None. 但实际上text里面是有值的。出现这个原因主要是因为标签里面包含了<b></b>标签,这里给大家举个原创 2018-10-15 00:44:33 · 1813 阅读 · 0 评论 -
mac下安装tesserocr包的流程和错误(Failed building wheel for tesserocr)
按以下是步骤顺序安装:brew install imagemagickbrew install tesseract在命令行输入tesseract即可验证是否成功安装tesseractpip3 install tesserocr如果最后一步出现Failed building wheel for tesserocr问题,在仔细看的话会发现是include <cstdint&...原创 2018-10-18 01:23:21 · 1413 阅读 · 0 评论 -
python3在Mac和Windows系统上画图不能显示中文的问题
画图显示中文会出现乱码,出现这种情况的原因是因为matplotlib仅支持Unicode编码,默认是不显示中文的如果是Windows系统,加入以下一段代码就可以成功显示中文.import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_m...原创 2018-10-11 13:59:13 · 2649 阅读 · 0 评论 -
DataFrame计算corr()函数计算相关系数时,出现返回值为空或NaN的情况
1. 返回值为空的情况出现返回值为空的情况是因为数据的类型不是数值型。用data.info()函数可以查看dataframe的信息。这里举个例子:###创建一个dataframe,数据类型为objectdata = pd.DataFrame([[1,2,3],[4,5,6]],columns=['a','b','c'],dtype=object)dataOut[23]: ...原创 2018-09-15 00:01:48 · 43389 阅读 · 7 评论 -
selenium webdriver.Chrome()出现 'chromedriver' executable needs to be in PATH的问题
出现这个问题首先要确认是否下载了chromedriver,如果确认下载了,在申明Chrome为浏览器驱动对象时加上chromedriver的路径参数即可brower = webdriver.Chrome('/Users/zhangxin/Downloads/chromedriver')...原创 2018-09-17 23:57:02 · 1494 阅读 · 0 评论 -
两种快速排序解析--python
快速排序的主要思想就是分而治之,递归将序列用主元分为两个子序列然后排序.根据维基百科的描述,快速排序有两种:第一种是由Lomuto提出的, 为in-place交换;将序列最后一个元素选为主元。两个扫描标签从左边开始,当array[ j ]大于主元时,j继续扫描;当array[j ]小于主元时,交换array[ i+1 ]和array[ j ].首先,主元为最后一个元素 4,a...原创 2018-11-09 13:30:22 · 768 阅读 · 0 评论 -
用json.loads()将字符串转换为json格式出错
今天爬取今日头条的街拍时,需要将里面的一个字符串变为json格式,结果直接转换就出现了json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)查看发现是网页里面的字符串里面含有\, 如下面的字符串所示,在灭一个双引号前面和右斜杠前面都有一...原创 2018-11-15 21:32:50 · 2310 阅读 · 0 评论 -
【Python】使用wordcloud画词云的可视化例子,并保存图片
之前写了用pyecharts画词云,今天我们来看一下用python的wordcloud库画词云。wordcloud接收的数据有两种格式,一种是纯文本的格式,另一种是词频的格式。我们来举个例子。from wordcloud import WordCloudimport matplotlib.pyplot as plt### 纯文本数据data = ['重庆','上海','北京','...原创 2019-09-17 18:13:20 · 7589 阅读 · 3 评论 -
【Python】爬取菜鸟物流管家异步加载XHR订单
最近需要商家的订单信息,一直Ctrl+c和Ctrl+v感觉就是有点儿不科学,所以就想爬一下试试。首先得有商家的账号,巧妇难为无米之炊,还是得有账号。因为以前没有爬过,就是各种的尝试。本来是想用selenium来模拟登录,然后一步一步的获取我想要的信息。但是,模拟登录的时候有滑块,手动操作这个滑块也不行。正常在浏览器上登录时就没有这个滑块,所以我就改用cookie来爬了。刚开始就找了我看...原创 2019-09-11 15:02:51 · 1421 阅读 · 0 评论 -
【Python】内置数据集介绍
在动手操作一个算法的时候,可能需要自己生成数据集。Python sklearn给我们提供了一些有用的数据生成器和数据加载工具,所以就不需要我们写代码来生成数据啦。下面介绍几个大家都比较常用的数据集:数据加载工具这个工具下面一共有24个数据集,只要直接导入就可以使用,就像导入一个csv文件一样。1.datasets.load_iris()这个数据集应该是最常见的了,经常看见网上博主们...原创 2019-08-28 17:52:30 · 9019 阅读 · 0 评论 -
Python pandas处理(提取/删除)DataFrame中的重复行
在处理数据的时候,我们经常会遇到处理重复数据的情况。根据需求一般有两种情况,下面我们分别针对两种情况举????:第一种情况,去掉重复的数据:### 构造数据data = pd.DataFrame(data=[['a',1],['a',2],['b',1],['b',2],['a',1]],columns=['label','num'])dataOut[17]: label nu...原创 2019-08-22 10:47:29 · 38083 阅读 · 2 评论 -
Python在Dataframe中新添加一列
在敲代码的过程中,老是会遇到在Dataframe中新添加一列的情况,每次都要重新google,这次做个记录。其实在Dataframe中新添加一列很简单,直接指明列名,然后赋值就可以了。import pandas as pddata = pd.DataFrame(columns=['a','b'], data=[[1,2],[3,4]])data>>> dat...原创 2019-08-13 16:31:25 · 281125 阅读 · 7 评论 -
【Python】绘制雷达图
之前在一些数据分析案例中看到用 Go 语言绘制的雷达图,非常的漂亮,就想着用matlibplot.pyplot也照着画一个,遗憾的是matlibplot.pyplot模块中没有直接绘制雷达图的函数,不过可以基于‘polar’图形特征来改进,下面就记录一下如何绘制雷达图。import numpy as npimport matplotlib.pyplot as plt# 用于正常显示中文...转载 2019-07-23 14:14:07 · 45780 阅读 · 18 评论