话说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模块中的
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中的实用小技巧