• python相关


    Information Gain 计算 python实现】http://blog.csdn.net/junfeng_feng/article/details/7650117

    数据挖掘模型中的IV和WOE详解 :http://blog.csdn.net/kevin7658/article/details/50780391

    【字典排序】 http://blog.csdn.net/ghostfromheaven/article/details/7675096

    一、列表

    列表 a=[1,2,3,4,5,6,7]

    要取出其中第0个元素以及第3个以后的元素:

    方法1:a.pop(1).pop(1)

    方法2:新建列表,b=[], b=[a[0]]+a[2:]

    二、itemgetter对列表排序

    from operator import itemgetter

    [注意】itemgetter后面括号的参数是代表的第几个区域,例如元组是(2,3),则第0个区域的值是2,第1个区域的值是3.

    a=[('b',2),('a',1),('c',0)]

    1.使用元组的第二个元素进行排序:

    b=sorted(a,key=itemgetter(1))

    结果:[('c',0),('a',1),('b',2)]

    2.是用元组的第1个元素进行排序:

    b=sorted(a,key=itemgetter(0))

    结果:[('a',1),('b',2),('c',0)]

    3、先对元祖的第2个元素排序,再对第1个进行排序:

    b=sorted(a,key=itemgetter(1,0))

    结果:[('c',0),('a',1),('b',2)]

     4、不接收返回值,直接改动原列表

    import operator
    a=[0,1,1,1,1,0,0]
    b=[0.3,0.7,0.8,0.8,0.9,0.4,0.5]

    lt=[]
    for i ,v in enumerate(b):
    tmp=[v,i]
    lt.append(tmp)

    print lt
    lt.sort(key=operator.itemgetter(0))
    print lt

    三、字典的get方法

    Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值。

    dict.get(key, default=None)
    • key -- 字典中要查找的键。
    • default -- 如果指定键的值不存在时,返回该默认值值
    • 例子:

     dict = {'Name': 'Zara', 'Age': 27}

    a=dic.get('age',0)    #result: 27

    b=dic.get('sex',0)  #result:0

    四、删除列表中的空值

    a=[1,2,3,'']

    way1:a.remove('')

    way2: b=[x for x in a if len(x)>0]

    五、同时使用2个分隔符对文本进行分隔

    import re

    f_in = codecs.open('sex','r','utf-8')
    for i in f_in.readlines():
        line = i.strip().split(' ')
        keys =re.split(';|,',line[-1]) #pkg列表是按;分隔
        keys.remove('')

    f_in.close()

    六、按行枚举 python enumerate

    enumerate()是python的内置函数
    enumerate在字典上是枚举、列举的意思
    对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
    enumerate多用于在for循环中得到计数
    如果对一个列表,既要遍历索引又要遍历元素时,首先可以这样写:
    list1 = ["这", "是", "一个", "测试"]
    for i in range (len(list1)):
    print i ,list1[i]123123

    上述方法有些累赘,利用enumerate()会更加直接和优美:
    list1 = ["这", "是", "一个", "测试"]
    for index, item in enumerate(list1):
    print index, item
    >>>
    0 这
    1 是
    2 一个
    3 测试1234567812345678

    enumerate还可以接收第二个参数,用于指定索引起始值,如:
    list1 = ["这", "是", "一个", "测试"]
    for index, item in enumerate(list1, 1):
    print index, item
    >>>
    1 这
    2 是
    3 一个
    4 测试1234567812345678

    补充

    如果要统计文件的行数,可以这样写:
    count = len(open(filepath, 'r').readlines())11

    这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。

    可以利用enumerate():
    count = -1
    for index, line in enumerate(open(filepath,'r')):
    count += 1

     七、

    u = array([[1,2],[3,4]])

    m = u.tolist() #转换为list

    m.remove(m[0]) #移除m[0]

    m = np.array(m) #转换为array

    八、python中使用eval() 和 ast.literal_eval()的区别

    eval函数在Python中做数据类型的转换还是很有用的。它的作用就是把数据还原成它本身或者是能够转化成的数据类型。

    那么eval和ast.literal_val()的区别是什么呢?

    eval在做计算前并不知道需要转化的内容是不是合法的(安全的)python数据类型。只是在调用函数的时候去计算。如果被计算的内容不是合法的python类型就会抛出异常。

    ast.literal则会判断需要计算的内容计算后是不是合法的python类型,如果是则进行运算,否则就不进行运算。

    九、chain的使用

     
    1. import itertools  
    2. listone = ['a','b','c']  
    3. listtwo = ['11','22','abc']  
    4. for item in  itertools.chain(listone,listtwo):  
    5.     print item  
     

    输出:a b c 11 22 abc

    十、enumerate使用,返回元素和该元素的索引

    a=['a','b','c','d']

    dict((w, i + 1) for i,w in enumerate(a))

    输出:{'a': 1, 'c': 3, 'b': 2, 'd': 4}

    十一、Python中asarray用法

    asarray(a, dtype=None, order=None)
        Convert the input to an array.
        
       举例:

    1)Convert a list into an array:将列表转换为数组

     
    1. >>> a = [1,2]  
    2. >>> numpy.asarray(a)  
    3. array([1, 2])  

    2)将数据类型转换为float和int

    1. >>> a= [1,2]  
    2. >>> numpy.asarray(a,'f')  
    3. array([ 1.,  2.], dtype=float32)  
    4. >>> numpy.asarray(a,'i')  
    5. array([1, 2])  


    3)判断a中数是否大于0,如果大于0,则将该数置为1,

     
      1. >>> a = [[1,2],[1,0]]  
      2. >>> a = numpy.asarray(a) #必须先转换为array,否则出现array(1.0, dtype=float32)  
      3. >>> numpy.asarray(a>0,'i') #'i'表示为dtype类型为int  
      4. array([[1, 1],  
      5.        [1, 0]])  
      6. >>> numpy.asarray(a>0,'f')  
      7. array([[ 1.,  1.],  
      8.        [ 1.,  0.]], dtype=float32)  
  • 相关阅读:
    WPF 文本动画 文字BaseLine 字体 行高计算说明
    C#查找窗口,并控制窗口显示隐藏,通过改变窗口样式方式
    c#获取状态栏图标并-模拟鼠标点击-模拟鼠标点击窗体的某些按钮
    IEC 104公约 解析 c#使用通过104公约同步时间
    hprose数据可视化显示,通过c#序列化,列表形式展示,导出excel、csv
    微服务优秀博文资料
    IT 常用单词表
    java 优秀开源项目
    java并发编程学习博客
    LDAP服务端
  • 原文地址:https://www.cnblogs.com/zhangbojiangfeng/p/6023884.html
Copyright © 2020-2023  润新知