python中一些比较实用的小技巧
2015-10-13 21:58
821 查看
话说python是一个大杂会,既可以用来做web,也可以用来做运维,还可以用来做数据科学(数据分析、数据挖掘、机器学习),这些东西java也可以来做,但是java总显得那么的笨重,java天生适合做框架、系统,这种小娇玲珑的一些功能朋python可以比java强,能提供快速的交互命令,最近在看scala,感觉是集python与java之所长,出来的一门新的编程语言,经常碰到各种各样的pyhon有用的小技巧,今天在此特意写一篇博客来做记录,后续会陆续更新:
(1)用来搜索某个目录下的某种类型文件(通配符) import glob glob.glob('C:\\Users\\Administrator\\Desktop\\*.csv') glob.glob('C:\\Users\\Administrator\\Desktop\\*\\*.r') (2)对字典进行排序 test={'a':1,'b':3,'c':2} sorted(test.iteritems(),key=lambda x:x[0],reverse=True) #对key排序 sorted(test.iteritems(),key=lambda x:x[1],reverse=True) #对value排序 (3)对一个列表进行的不同类别计数 可以自己写function,下面用到的是python自带的 import collections test=['a','a','b','c','c','c'] collections.Counter(test) 结果为: Counter({'c': 3, 'a': 2, 'b': 1}) (4)random模块中随机抽取 from random import choice test=[1,2,3,4] choice(test) #每次选取其中的一个结果,每次都不一样 from random import sample test=xrange(1000) sample(test,100) #每次随机抽取100个,跟R里面的sample随机函数差不多 (5)改变工作目录 import os os.chdir('C:\\Users\\Administrator\\Desktop') (6)计时工具timeit import timeit def test(): x=xrange(100000) return x def test_1(): x=range(100000) return x timeit.timeit(test,number=1) timeit.timeit(test_1,number=1) #可以看到xrange效率比range效率要高很多,包括numpy库中的arange,xrange效率是最高的 (7)对列表元素去重的方法 test=[1,1,2,2,3,3,3,4] 第一种方法: list(set(test)) 第二种方法: {}.fromkeys(test).keys() 话说上次去在平安科技面试就面到这二种方法,只想说好偏 (8)设置pyhon中默认的编码 import sys if sys.getdefaultencoding()!='utf-8': reload(sys) sys.setdefaultencoding('utf-8') else: pass (9)find和rfind函数,字符串操作对象 这个函数与sas里面的find函数类型,找到返回为大于-1的数,,没找到为返回为-1的数,rfind从右边开始找起,一旦找到,则终止,跟findall有点区别, test="abcdefgh" test.find("g") Out[12]: 6 test.rfind("z") Out[14]: -1 test="abadefgh" test.rfind("a") Out[18]: 2 经常与glob模块中glob函数配合一起使用 file_names = glob('.\Sample\*\*.txt') for file_name in file_names: if file_name.find("C000007") > -1: file_type ="auto" else: pass (10)利用numpy模块中的 np.concatenate()函数合并array import numpy as np test=[np.array([1,2,3]),np.array([4,5,6,7]),np.array([9,10])] test Out[11]: [array([1, 2, 3]), array([4, 5, 6, 7]), array([ 9, 10])] np.concatenate(test) Out[12]: array([ 1, 2, 3, 4, 5, 6, 7, 9, 10])
相关文章推荐
- python中实现PCA
- Python爬虫学习笔记(一)
- python中kmeans聚类实现
- python学习-文本数据分析2(文本分类)
- python学习-文本数据分析1(主题提取+词向量化)
- python学习-数据分析2(分类型数据处理+SVM建模)
- Python装饰器
- python中的支持向量机实现
- 使用 Python 在 Caché 和 Sql Server 之间同步数据
- python中实现logistics回归
- python中朴素贝叶斯代码的实现
- python中sklearn机器学习实现的博客
- Python 3 读取不同编码的文本文件
- Python 3 读取不同编码的文本文件
- 利用python手动写最小二乘估计
- 利用python中的pyquery库简单的抓取数据
- python中pandas库学习笔记
- python 中 exec、 eval、 execfile 和 compile 用法
- python中的pandas包的数据清洗能力
- python中knn算法实现