Python
KeeJee
机器学习,数据挖掘
展开
-
numpy - 获取array中数组元素的索引
1. 函数原型2. 应用参考文献http://blog.csdn.net/vernice/article/details/50990919原创 2017-08-05 10:36:59 · 24285 阅读 · 1 评论 -
Python - pickle
http://blog.csdn.net/sxingming/article/details/52164249原创 2017-08-04 17:01:12 · 441 阅读 · 0 评论 -
Python - 集合类型set
1. 创建2. 访问3. 更新4. 删除5. 操作符:交差并补6. 集合内建方法原创 2017-08-07 14:13:35 · 460 阅读 · 0 评论 -
Python - map函数
1. 函数原型2. 应用参考文献http://blog.csdn.net/seetheworld518/article/details/46959871http://www.cnblogs.com/superxuezhazha/p/5714970.html原创 2017-08-07 14:05:52 · 399 阅读 · 0 评论 -
Python - Pythonic下划线
Python的面向对象没有严格的定义私有,公有,保护;但是有一定的命名风格来显示当前成员变量,成员函数的属性。先挖坑参考文献http://www.cnblogs.com/wanpython/archive/2013/05/23/3095534.htmlhttp://www.cnblogs.com/wangshuyi/p/6096362.html原创 2017-08-05 10:54:09 · 540 阅读 · 2 评论 -
numpy数组切片
numpy切片:1. 数组切片2. 列表下标存取办法3. 以数组为下标存取数组4. 多维数组切片存取# 1. 数组切片if False: arr = np.arange(0,10) print(arr[2]) print(arr[3:5]) print(arr[:5]) print(arr[-1]) print(ar原创 2017-06-15 20:19:59 · 6130 阅读 · 0 评论 -
Python - matplotlib画折线图
x1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]y1 = [30,31,31,32,33,35,35,40,47,62,99,186,480] x2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] y2 = [32,32,32,33,34,34,34,34,38,43,54,69,116原创 2017-07-25 15:35:29 · 1441 阅读 · 0 评论 -
数据挖掘 - pandas基本函数
读写csv文件写入 df.to_csv(filename)读取 pd.read_csv(filename,header=0) #保留列属性,header=None不读列属性缺失值处理去掉包含缺失值的行 df.dropna(how=’any’)对缺失值进行填充 df.fillna(value=5)选择行或列df.iloc[3] #第四行df.iloc[原创 2017-01-28 14:53:14 · 759 阅读 · 0 评论 -
numpy - argsort
argsort原创 2017-08-01 11:45:51 · 676 阅读 · 0 评论 -
Python - 创建字典的多种方式
http://blog.csdn.net/csujiangyu/article/details/45176399原创 2017-08-04 16:49:51 · 1671 阅读 · 0 评论 -
pandas - series序列转化为星期几
series序列中每个元素都是带有日期形式的字符串,需要将其转化为一个同等大小的series,且其中每个元素都是星期几。1)将Series转化为datetime格式;2)将Series中每个元素转化为星期;time_list = ["2017-05-10 17:19:19", "2017-05-11 17:19:20", "2017-05-12 17:19:20", "2017原创 2017-08-24 21:02:10 · 8068 阅读 · 0 评论 -
Python - 格式化字符串%
参考文献http://www.cnblogs.com/vamei/archive/2013/03/12/2954938.html原创 2017-08-21 21:30:09 · 374 阅读 · 0 评论 -
Python中__iter__与yield
https://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/转载 2018-04-27 09:45:44 · 1316 阅读 · 0 评论 -
matplotlib中文乱码解决
下列程序在Python3.6下运行通过。# -*- coding=utf-8 -*-from matplotlib import font_managerimport matplotlib.pyplot as plt;if __name__ == '__main__': thread_num = [1, 3, 5, 10, 20, 30, 40, 50, 60, 70, 80原创 2017-12-12 14:02:56 · 969 阅读 · 0 评论 -
Python利用dict实现switch
Python3还是没有switch,可以利用if-else来实现,但是非常不方便。使用dict来实现会比较简洁优雅。# -*- coding: utf-8 -*-"""Python利用dict实现switch"""def add(x, y): return x + y def subtract(x, y): return x - y原创 2017-11-21 16:23:50 · 1674 阅读 · 0 评论 -
pandas - merge, concat合并两张表
pandas中合并两张表的函数包括merge,concat。1. merge2. concat原创 2017-08-30 16:03:24 · 18548 阅读 · 0 评论 -
pandas - groupby, agg分组统计
参考文献http://jingyan.baidu.com/article/adc8151358a781f723bf73c4.htmlhttp://jingyan.baidu.com/article/d45ad148947fd369552b80f6.html原创 2017-08-21 22:47:27 · 37265 阅读 · 0 评论 -
Python - strptime从字符串获取时间信息
1. 函数原型strptime函数可以从一个具有时间格式的字符串中获取时间信息,其函数原型为:strptime(string, [format)2. 应用import time""" 返回值struct_day为一个struct格式的时间, 包含9个元素: tm_year: 年 tm_mon: 月 tm_mday: 日原创 2017-08-26 16:58:20 · 3880 阅读 · 0 评论 -
numpy - random随机数模块
numpy随机数模块random# 1. 随机数种子randomState = np.random.RandomState(1)# 2. 生成随机整数A = [randomState.randint(1,10) for i in range(10)]# 3. 生成随机数组B = randomState.randn(10,4)# 4. 按照均匀分布生成数据C = [rando原创 2017-07-14 11:50:07 · 818 阅读 · 0 评论 -
numpy - 对整个数组元素直接进行操作
1. numpy可以对整个数组元素直接进行操作。# 计算一个一维数组和二维数组的距离distance = np.sum((test_x[i, :] - train_x)**2, axis=1)原创 2017-06-29 23:30:54 · 2547 阅读 · 0 评论 -
Pands分组统计函数
利用Python的pandas库进行数据分组分析十分便捷,其中应用最多的方法包括:groupby、pivot_table及crosstab,以下分别进行介绍。0、样例数据[python] view plain copydf = DataFrame({'key1':['a','a','b','b','a'],'key2':['one',转载 2017-03-13 18:23:19 · 959 阅读 · 0 评论 -
机器学习 - xgboost参数详解
原文见:http://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tuning-xgboost-with-codes-python/这篇文章按照原文的分节,共分为三个部分,其中本章介绍第一部分。 1、简介与XGboost2、参数理解3、参数调优关于XG转载 2017-05-08 17:11:27 · 1825 阅读 · 0 评论 -
Python爬取新东方考研真题
要考研,想看看各个院校的真题,网上找了下,发现新东方真题库里面的考研真题还挺齐全的,网址:http://new.bj.xdf.cn/zhentiku/daxue/kaoyan/kyzyk/list_381_1.html于是随手写了个爬虫爬取所有 新闻学 的考研题,脚本如下:from urllib import urlopenfrom bs4 import BeautifulSoup转载 2017-05-19 20:12:27 · 1504 阅读 · 1 评论 -
matplotlib画图plot线型设置
本文是学习《matplotlib for python developers》的一点笔记plot画图时可以设定线条参数。包括:颜色、线型、标记风格。1)控制颜色颜色之间的对应关系为b---blue c---cyan g---green k----blackm---magenta r---red w---white y----yellow有三种表示颜色的方转载 2017-05-10 15:10:34 · 22671 阅读 · 1 评论 -
numpy广播
Numpy的Universal functions 中要求输入的数组shape是一致的,当数组的shape不想等的时候,则会使用广播机制,调整数组使得shape一样,满足规则,则可以运算,否则就出错 。广播:对形状不同的数组,采取的运算操作。但被操作的数组中必须至少有一个某轴长度为1;或者缺少一个维度(这时候会自动补全)。换句话说,通过对两个数组中的一个或者多个在行、列上进行复制元素扩转载 2017-05-20 22:36:21 · 1695 阅读 · 2 评论 -
Python格式化字符串format
自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足。那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱。语法它通过{}和:来代替%。“映射”示例通过位置In [1]: '{0},{1}'.format('kzc',18) Out[1]: 'kzc,18' In [2]: '{},{}'.转载 2017-05-08 00:14:28 · 459 阅读 · 0 评论 -
Python字典排序
字典排序在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。Python中字典的排序分为按“键”排序和按“值”排序。按“值”排序按“值”排序就是根据字典的值进行排序,可以使用内置的sorted()函数。 sorted(iterable[, cmp[, key[, reverse]]])转载 2017-05-16 00:18:37 · 404 阅读 · 0 评论 -
Python 内置函数 locals() 和globals()
1. 这两个函数主要提供,基于字典的访问局部变量和全局变量的方式。python 使用叫做名字空间的东西来记录变量的轨迹。名字空间是一个字典 ,它的键就是字符串形式的变量名字,它的值就是变量的实际值。名字空间可以像 Python 的 dictionary 一样进行访问。在一个 Python 程序中的任何一个地方,都存在几个可用的名字空间。每个函数都有着自已的名字空间,叫做局部名字空间转载 2017-05-07 00:05:58 · 960 阅读 · 0 评论 -
pandas修改DataFrame列名
Pandas中DataFrame修改列名在做数据挖掘的时候,想改一个DataFrame的column名称,所以就查了一下,总结如下: 数据如下:>>>import pandas as pd>>>a = pd.DataFrame({'A':[1,2,3], 'B':[4,5,6], 'C':[7,8,9]})>>> a A B C0 1 4 71 2 5转载 2017-05-05 23:08:24 · 77854 阅读 · 1 评论 -
matplotlib画图坐标轴设置
使用matplotlib的示例:调整字体-设置刻度、坐标、colormap和colorbar等[python] view plain copy # -*- coding: utf-8 -*- #********************************************************** import os转载 2017-05-10 18:02:22 · 3099 阅读 · 0 评论 -
12个使Pandas效率倍增的技巧—下
7 – 数据框合并当我们有收集自不同来源的数据时,合并数据框就变得至关重要。假设对于不同的房产类型,我们有不同的房屋均价数据。让我们定义这样一个数据框:prop_rates = pd.DataFrame([1000, 5000, 12000], index=['Rural','Semiurban','Urban'],columns=['rates'])prop_rates转载 2017-03-13 15:33:53 · 2064 阅读 · 0 评论 -
DataFrame和numpy中神奇的广播函数
numpy的神奇广播函数在使用pandas的时候,一般来说对两个DataFrame(简写df)的加减乘除,会自动索引对齐,很方便,DataFrame与Series之间的运算也会沿着指定的轴进行广播。最为人称道的广播形式大概就是apply和applymap这样的操作了,很方便,很强大。 但是也有不能满足需求的时候,比如一个DataFrame根据另一个DataFrame对应的元素进行自定义转载 2017-05-20 23:09:56 · 5663 阅读 · 1 评论 -
numpy数组拼接
数组拼接方法一思路:首先将数组转成列表,然后利用列表的拼接函数append()、extend()等进行拼接处理,最后将列表转成数组。示例1:>>> import numpy as np>>> a=np.array([1,2,5])>>> b=np.array([10,12,15])>>> a_list=list(a)>>> b_list=list(b)>>> a_l转载 2017-05-21 15:38:35 · 1689 阅读 · 0 评论 -
Python类型判断type与isinstance
在游戏项目中,我们会在每个接口验证客户端传过来的参数类型,如果验证不通过,返回给客户端“参数错误”错误码。这样做不但便于调试,而且增加健壮性。因为客户端是可以作弊的,不要轻易相信客户端传过来的参数。def compute_entropy(self, dataset): """ 计算数据集dataset的信息熵 dataset: 第一列为数据集的label """转载 2017-06-30 19:01:03 · 11944 阅读 · 0 评论 -
Python正则表达式
正表达式基本上是通用的,这里主要是使用Python来学习。原创 2017-07-08 23:26:14 · 595 阅读 · 0 评论 -
Python List index方法
Python列表的index方法,[elements].index(element),求取元素element在列表中第一次出现的索引。list_1 = list(range(5)) * 10 begin, end = 0, len(list_1)print(list_1.index(1, begin, end))原创 2017-07-07 16:26:34 · 6892 阅读 · 0 评论 -
Python - random库
与numpy的random不太一样,random模块使用似乎更简单。1. 种子random.seed看了好几个例程以及官网,使用起来却总是不对,最后只能这样:import randomrandom.seed2. 采样random.samplelist_A = list(range(10))list_B = random.sample(A, 3)原创 2017-07-14 21:38:31 · 633 阅读 · 0 评论 -
无参装饰器与有参装饰器
一、无参装饰器函数Python的 decorator (装饰器) 本质上就是一个高阶函数,它接收一个函数作为参数,然后,返回一个新函数。使用 decorator 用python提供的 @ 语法,这样可以避免手动编写 f = decorate(f) 这样的代码。例1:[html] view plain copy print?原创 2017-06-19 13:20:48 · 874 阅读 · 0 评论 -
详解Python装饰器
一、引出装饰器概念引入问题: 定义了一个函数,想在运行时动态的增加功能,又不想改动函数本身的代码?示例:希望对下列函数调用增加log功能,打印出函数调用:[html] view plain copy print?def f1(x): return x*2 def f2(x): return x*x原创 2017-06-19 01:01:06 · 530 阅读 · 0 评论 -
Python - numpy元素类型
更改numpy中元素类型。1. 在创建时,使用np.类型直接更改data = np.ones((3,4), np.int)2. astypedata = np.random.randn(3,4)new_data = data.astype(int)原创 2017-07-12 15:43:34 · 1840 阅读 · 0 评论