• Python基础常识


    python中数组切片[:,i] [i:j:k] [:-i] [i,j,:k]

    # 逗号“,”分隔各个维度,“:”表示各个维度内的切片,只有:表示取这个维度的全部值,举例说明如下
    
    1.二维数组
    
    X[:,0]取所有行的第0个数据,第二维下标位0的所有数据,第0列(从0开始)
    
    X[:,1] 取所有行的第1个数据
    
    X[:,1:]第一维全部取,即所有行,列上从第一列开始取,不要第0列
    
    X[1,:]是取第1维中下标为1的元素的所有数据,第1行(从0开始)
    
    X[:2,1:]第一维取下标2之前的,即第2行之前(0,1两行),列上从第一列开始取,不要第0列
    
    
    2.一维数组
    
    s[i:j] 表示获取a[i]到a[j-1]
    
    s[:-1]去掉最后一个字符
    
    s[:-n]去掉最后n个字符
    
    s[-2:]取最后两个字符
    
    s[i:j:k]这种格式呢,i,j与上面的一样,但k表示步长,默认为1
    
    s[::-1]是从最后一个元素到第一个元素复制一遍(反向)
    a[2::-1] # 取从下标为2的元素翻转读取

    3.三维数组 U[1,1,2]表示第一维取1,第二维取1,第三维取2 U[:,1,2]表示第一维全取,第二维取1,第三维取2 U[:,1:,2]表示第一维全取,第二维取1及1之后的所有值,第三维取2 U[:,1:,:2]表示第一维全取,第二维取1及1之后的所有值,第三维取2之前的值(0,1)

     

    sys.argv[] #就是一个list,sys模块下的一个全局变量,用来获取命令行参数。第一个元素是模块名、后面是依次传入的参数

    arg[0] 表示模块名
    arg[1]表示第一个命令行参数
    arg[1][2:] 表示取第一个命令行参数,但是去掉前两个字节
    os.getcwd() # 获得当前工作路径
    
    os.chdir(path) # 改变当前工作目录到指定的路径
    
    os.listdir(path) # 返回指定的文件夹包含的文件或文件夹的名字的列表
    
    os.path.isdir(path) # 判断路径是否为目录
    
    os.path.join(path1[, path2[, ...]]) # 把目录和文件名合成一个路径
    
    set() # 创建一个无序不重复元素集,可进行关系测试
    
    glob.glob() # 模块提供了一个函数用于从目录通配符搜索中生成文件列表
    
    strip() # 用于移除字符串头尾指定的字符(默认为空格)或字符序列。
    
    split() # 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串
    
    hstack(tup) #水平(按列顺序)把数组给堆叠起来
    
    vstack(tup) #垂直(按照行顺序)的把数组给堆叠起来
    
    字典(Dictionary) items() # 函数以列表返回可遍历的(键, 值) 元组数组
    
    operator.itemgetter() # 用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号)

    python格式的互相转换(array,list,str)

    #numpy的array转list
    left_specturm_train.tolist()
     
    #list转numpy的array
    a = np.array(b)
     
    #字符串转list
    list_convert = a.split() #
     
    #list转str
    str_convert = ''.join(list)
    from sklearn.metrics.pairwise import cosine_similarity
    from sklearn.metrics.pairwise import pairwise_distances
    
    a=[[1,3],[2,2]]
    cosine_similarity(a)
    array([[ 1.        ,  0.89442719],
           [ 0.89442719,  1.        ]])
    
    pairwise_distances(a,metric="cosine")
    array([[ 0.        ,  0.10557281],
           [ 0.10557281,  0.        ]])
    
    # 使用cosine_similarity,传入一个变量a时,返回数组的第i行第j列表示a[i]与a[j]的余弦相似度
    
    # 使用pairwise_distances,注意该方法返回的是余弦距离,余弦距离= 1 - 余弦相似度,同样传入一个变量a时,返回数组的第i行第j列表示a[i]与a[j]的余弦距离

    LabelEncoder 和 OneHotEncoder详解

    # LabelEncoder 是对不连续的数字或者文本进行编号
    from sklearn.preprocessing import LabelEncoder
    le = LabelEncoder()
    le.fit([1,5,67,100])
    le.transform([1,1,100,67,5])
    # out: array([0,0,3,2,1])
    
    #OneHotEncoder 用于将表示分类的数据扩维:
    from sklearn.preprocessing import OneHotEncoder
    ohe = OneHotEncoder()
    ohe.fit([[1],[2],[3],[4]])
    ohe.transform([2],[3],[1],[4]).toarray()
    # out:[ [0,1,0,0] , [0,0,1,0] , [1,0,0,0] ,[0,0,0,1] ]

    python 读excel表

    # 方法一:xlrd模块读excel
    import xlrd
    data = xlrd.open_workbook("window regulator.xlsx") #打开excel
    table = data.sheet_by_name("Sheet2")#读sheet
    nrows = table.nrows #获得行数
    result = []
    for i in range(1,nrows):  #
        rows  = table.row_values(i) #行的数据放在数组里
        sku = rows[0]
        keyword = str(rows[1]).split("-")[1] + " "+ str(rows[2]).replace("|"," ") + " window regulator"
        kind = rows[3]
        result.append([sku, keyword,kind])
    print(result)
    
    # 方法二:pandas模块读excel
    import pandas as pd
    import numpy
    import csv
    import xlrd
    #读入sku
    df = pd.read_excel("window regulator.xlsx",sheetname="Sheet2")  #读excel
    skus = df["sku"].values
    for sku in skus :
        df1 = pd.read_csv("sku\\feedback_"+str(sku)+".csv",encoding="utf-8")
        df1 = df1[(df1.price < 60) & (df1.price >10)]
        df1.to_csv("sku\\feedback_"+str(sku)+".csv",encoding="utf-8",index = False)  #写入到csv

    # 方法三:openpyxl进行读写excel,只能是xlsx格式的excel

    控制小数点位数

    # 利用python中的内置函数,奇数则四舍五入,偶数则取整
    round(a, 2)
    
    '%.2f' % a

    寻找最大值并返回其位置

    a = [0.2,0.3,0.4,0.1]
    
    print a.index(min(a))  # 返回最小值位置
    print a.index(max(a)) # 返回最大值位置

    写入浮点数到txt文件

    with open('file_path/filename.txt', 'a') as file:
        write_str = '%f %f\n'%(float_data1, float_data2)
        file.write(write_str)

    从txt文件提取浮点数到numpy数组或list列表

    # 1.读txt数据存为numpy数组
    a = numpy.loadtxt('odom.txt')
    # a.shape()可查看形状
    b = numpy.reshape(a, (你想要的形状))
    
    # 2.读txt数据存到list里
    with open('odom.txt', 'r') as f:
        data = f.readlines()  #txt中所有字符串读入data
     
        for line in data:
            odom = line.split()        #将单个数据分隔开存好
            numbers_float = map(float, odom) #转化为浮点数
  • 相关阅读:
    这两天又是一次巨大的飞跃
    防范式编程:
    泛型那点儿事儿 泛型概述 简单样例代码
    FindPrivateKey X509
    Remoting Generic Async Queue (Release 3) 不受 Remoting 对象生存期过期约束
    AntiXSS Library v3.0
    X509 static RSACryptoServiceProvider 高并发加解密
    EncodingHelper Identify Encoding by BOM
    NetStatTool
    EditPlus 于 20090602 升级到 v3.11(340)
  • 原文地址:https://www.cnblogs.com/taoyuyeit/p/11244210.html
Copyright © 2020-2023  润新知