python学习笔记
文章平均质量分 57
幸运的Alina
这个作者很懒,什么都没留下…
展开
-
利用python对CSV文件分组并拆分文件
脚本背景: 提取了不同类别下的购买手机号码,由于数据量巨大,需要对数据进行分组,得到不同类别下的手机号码,同时自动拆分文件,按照一个特定类别输出文件。import pandas as pd#read data from csvdf=pd.read_csv('C:\\Users\\Administrator\\Documents\\haomabao.csv',sep=',',engine='pyt...原创 2018-07-03 17:30:07 · 19008 阅读 · 2 评论 -
python利用joblib保存训练模型
在机器学习中我们训练模型后,需要把模型保存到本地,这里我们采用joblib来保存from sklearn.externals import joblib#保存模型def Save_Model(self, model, filepath): joblib.dump(model, filename=filepath)def Decision_Tree_classifier(se...原创 2018-09-11 17:07:57 · 29483 阅读 · 0 评论 -
Flask路由通过postman进行测试
在做接口的时候,有时候由于手上还没有前端,这时我们写的接口可以通过postman来模拟post请求,下面讲解下相关操作。我们这里写个简单的通过POST请求传参,然后返回结果参数的过程对应的run.py代码如下from flask import Flaskfrom flask import request,jsonifyapp=Flask(__name__)@app.route(...原创 2018-09-17 14:43:02 · 3309 阅读 · 0 评论 -
详解sklearn中的merics
sklearn.metrics 不仅包括了评估功能,还有性能度量,距离度量等 。分类矩阵metrics.accuracy_score(y_true,y_pred[,…]) 精确度 metrics.auc(x,y[,reorder]) AUC面积 metrics.average_precision_score(y_true,y_score) 根据预测得分...原创 2018-11-06 10:31:24 · 6384 阅读 · 2 评论 -
Python中迭代函数chain
chain函数来自于itertools库,itertools库提供了非常有用的基于迭代对象的函数,而chain函数则是可以串联多个迭代对象来形成一个更大的迭代对象 通过上述的例子,我们可以注意到在chain中的 * 的作用 具体用法如下:from itertools import chainlist(chain(a)) ...原创 2018-11-20 10:33:16 · 10341 阅读 · 0 评论 -
python可视化汇总
这里用到的可视化工具采用matplotlib.pyplot包的功能1.箱线图 boxplot箱线图作用:可以判别异常值 ,查看数据的分布情况from matplotlib import pyplot as pltplt.boxplot(x=train['key'].values,labels='x',whis=1.5)参数解释 :x: 接受的是array或者是一系...原创 2019-02-06 19:15:41 · 299 阅读 · 1 评论 -
爬虫爬取网页上的表格
最近有个爬虫的需求,然后在做爬虫的过程中涉及到要去爬取网页中的表格内容,鉴于直接采用常规方法有点傻,于是记录了如何直接提取表格内的方法在此,以便后续再回顾。from bs4 import BeautifulSoupimport urllibimport reimport config #自己定义的配置文件def spider_data(url): head = {} ...原创 2019-03-12 10:13:40 · 11805 阅读 · 3 评论 -
盘点Python中的*args和**kwargs
在深入学习和探索了不定参数后,写篇文章记录下,方便后续复习。在定义函数的时候当有多个参数或者不确定传进来的参数有多少的时候,这里我们会选择不定参数来处理,这里先区分下*args和**kwargs之间的区别 ,*args是指的值不带key,然后值的数量未知 ;**kwargs则是数量未知,但是一一对应关系是已知的,以字典在传输。*args 适用在参数数量未知的情况下,一般是类似数组传入...原创 2019-03-29 14:58:42 · 165 阅读 · 1 评论 -
numpy中一些用法汇总
本篇文章用来总结在使用numpy库使用到的函数,方便自己回过头来查阅,在开始默认导入如下设置import numpy as np1. 奇异值分解会用到numpy.linalg.svd(a,full_matrices=True,compute_uv=True) a : 维度大于等于2的矩阵full_matrices: 默认为True ,用来表示u, vh是否维度分别为(...原创 2019-05-26 17:32:02 · 1723 阅读 · 0 评论 -
在Python的环境下对Spark文件操作
在实际使用Spark做集群运算的时候我们会遇到很多实际的问题,特记录下来,本文主要讲解关于Spark读文件为RDD ,然后RDD转DataFrame,然后将RDD存为文件,以及如何保存DataFrame到文件from pyspark.sql import SparkSessiondef CreateSparkContext(): # 构建SparkSession实例对象 ...原创 2019-06-20 09:19:33 · 1516 阅读 · 0 评论 -
linux下将Python环境默认更改为Python3.6
由于在实际使用的时候由于默认的一些程序都是使用的python如果直接调用启动的是Linux自带的2.7的环境就会出现很多问题, 所以这里记录下环境更改为3.6的做法mv /usr/bin/python /usr/bin/python.bak #删除原来指向python2的软链接ln -s /usr/local/python3.6/bin/python3.6 /usr/bin/pytho...原创 2019-06-26 15:23:38 · 11338 阅读 · 0 评论 -
TensorFlow学习之二:kaggle上minist手写识别CNN优化
在上次提交的代码后,基于上次的结果采用CNN神经网络,将准确率提高了一个等级,下面附上训练代码和对应的预测代码,这次在训练中保存模型后,在预测过程中读取模型的时候采用了加载整个神经网络模型的方法。期间也遇到了很多报错 。经过慢慢分析,一一解决了。训练代码,我这里训练只迭代了10次,实际中大家可以根据实际来训练,因为我觉得用个人的笔记本训练太慢了,就没训练太久,最后训练结果如下:实现代码...原创 2018-08-17 17:33:24 · 758 阅读 · 0 评论 -
利用python判断CSV表中存在A列不存在B列的数据并导出
脚本背景:通过脚本快速处理工作中获取的大量数据,筛选出存在A列不存在B列的数据,并将结果保存到CSV文件中。方法1:import pandas as pdimport numpy as npfrom pandas.core.frame import DataFramedata=pd.read_csv('C:\\Users\\admin\\Downloads\\data.csv',sep=',...原创 2018-07-03 17:45:05 · 4176 阅读 · 0 评论 -
Python数据类型(set,dict)
集合 集合具有很多优点,比如集合内没有重复值,相当于具有了自动去重的操作,集合还可以做很多判断,比如判断是否存在某元素等操作。还可以与List 直接相互转化在做文件判断的时候可以转化为集合,然后去做交集,并集等操作,集合并集 A|B 结果会得到及包含A也包含B的集合集合交集A&B 结果会得到既存在A也存在B中的集合集合差集A-B 结果会得到存在A但是不存在B...原创 2018-07-03 17:57:08 · 345 阅读 · 1 评论 -
Python数据类型(List)
1. list 和字符串的区别list 具有可变性,其中的对象是可以做修改的,但是字符串是不能做修改的,延伸如下name="Antony"person=namename="Alina"print(name)print(person)结果显示为:Alina Antony 而对于list则是可变的name=["Antony","Alina"]person=namename[0]="Alin...原创 2018-07-04 10:13:18 · 923 阅读 · 1 评论 -
python连接数据库oracle,mysql,sql server
1.python连接oracle 使用的库为cx_Oracle, 我们先把cx_Oracle模块安装好,我主要是使用pip install cx_Oracle ,python版本是3.6. 注意如下代码中:connect('user/password@ip:port/database') 其中的user 对应数据库的用户名,password对应密码,ip对应机器地址 ,port对应端口 ,d...原创 2018-07-11 17:40:41 · 618 阅读 · 0 评论 -
Python字典查找报Keyerror解决方法
Python的字典一般都直接查找key ,比如dict={'a':1,'b':2,'c':3}print(dict['a'])但是如果在查找的key不存在的时候就会报:KeyError:比如你要查看print(dict['d'])由于这个时候dict里面并没有这个key ,所以就会直接报错,那么这个时候其实python给我们提供了一种很棒的解决方法,那就是用setdefa...原创 2018-07-18 10:19:25 · 294873 阅读 · 14 评论 -
Python中利用pickle保存变量
在工作中出于某些原因,我们可能需要将变量保存下来,这样下次就可以直接去赋值而不用重新执行某些重复耗时的操作了,这里我们用到了Python的pickle包来做变量的存储和变量加载,大家注意这个包是python自带的,不需要另外再去安装。pickle用法如下: pickle.dump(obj, file, protocol=None,*,fix_imports=True) ...原创 2018-07-18 17:33:07 · 17351 阅读 · 1 评论 -
机器学习模型评估混淆矩阵、ROC曲线和AUC以及PR曲线
在机器学习中,当我们基于某个业务建立模型并训练后,接下来我们需要评判模型好坏的时候需要基于混淆矩阵,ROC和AUC等来进行辅助判断。混淆矩阵也叫精度矩阵,是用来表示精度评价,为N *N的矩阵,用来判别分类好坏的指标。混淆矩阵中有以下几个概念:TP(True Positive): 被判定为正样本,实际也为正样本FN(False Negative):伪阴性 ,被判定为负样...原创 2018-08-15 15:40:04 · 17289 阅读 · 2 评论 -
TensorFlow学习之一:实现kaggle赛题Digit Recognizer
最近学习TensorFlow的时候,正好利用kaggle上的Minist数据集来入手。经历一段时间的折磨后,终于成功弄出了一个结果,至于优化类的后面再讲,今天就介绍下tensorflow入门minist。一开始我是看着官网学习的,但是鉴于官网知识很有限,最后我都理解为我自己的东西了。学习的部分我前半部分为训练模型加保存模型,后半部分为加载模型并预测。这里我们讲解也分为2部分来讲...原创 2018-08-15 19:05:07 · 700 阅读 · 2 评论 -
解析numpy中的unique,ravel,flat,argmax
numpy是数据科学的神器库,里面很多函数都很棒,接下来慢慢记录在我学习的过程中遇到的函数1. numpy.unique: 此函数主要用于返回数组中唯一元素构成的数组,可类比去重操作 numpy.unique(ar, return_index=False, return_inverse=False, return_counts=False, axis=None)ar:array_l...原创 2018-08-16 11:04:44 · 1604 阅读 · 0 评论 -
解决在Hive建表时root用户对HDFS无权限问题
在使用pyspark 将DataFrame的数据插入到HIve中时,遇到了root账号无法insert数据到hive中,报错信息如下:org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=root, access=WRIT...原创 2019-07-02 11:37:22 · 4984 阅读 · 0 评论