Python中的实用小技巧

Python与机器学习 徐 自远 546℃

话说python是一个大杂会,既可以用来做web,也可以用来做运维,还可以用来做数据科学(数据分析、数据挖掘、机器学习),正是因为这么庞大的功能,所以特意对一些小技巧进行记录:

搜索指定目录下的文件(通配符)

import  glob

glob.glob(‘C:\\Users\\Administrator\\Desktop\\*.csv’)

glob.glob(‘C:\\Users\\Administrator\\Desktop\\*\\*.r’)

对字典进行排序

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排序

对一个列表进行的不同类别计数

import  collections

test=[‘a’,’a’,’b’,’c’,’c’,’c’]

collections.Counter(test)

结果为:

Counter({‘c’: 3, ‘a’: 2, ‘b’: 1})

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随机函数差不多

改变工作目录

import  os

os.chdir(‘C:\\Users\\Administrator\\Desktop’)

计时工具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效率是最高的

对列表元素去重的方法

test=[1,1,2,2,3,3,3,4]

第一种方法:

list(set(test))

第二种方法:

{}.fromkeys(test).keys()

设置pyhon中默认的编码

import  sys

if  sys.getdefaultencoding()!=’utf-8′:

    reload(sys)

    sys.setdefaultencoding(‘utf-8’)

else:

  pass

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

利用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中的实用小技巧】, 快来看吧!@小米浏览器 | http://mp.weixin.qq.com/s/oy8egm2gvBAbocbW-PK9sA

转载请注明:徐自远的乱七八糟小站 » Python中的实用小技巧

喜欢 (0)

苏ICP备18041234号-1 bei_an 苏公网安备 32021402001397号