美文网首页
python numpy,list操作

python numpy,list操作

作者: 啊啊啊啊啊1231 | 来源:发表于2020-03-24 12:02 被阅读0次

    pickle写操作

    with open('../item_desc_smallnvjc.pkl','wb') as in_data_item_desc:

        pickle.dump(item_desc,in_data_item_desc,pickle.HIGHEST_PROTOCOL)

    pickle读操作

    with open('jap_word_list.pkl','rb') as in_data_jap_word_list:

        jap2vec = pickle.load(in_data_jap_word_list)

    取平均操作

    np.mean(matrix_a, axis=0)

    建立new matrix

    numpy.zeros((x, y))

    找到列表中满足某些条件的元素

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

    selected = [x for x in a if x in range(1, 5)]   # 找到a中属于[1,5)中的元素

    numpy.ndarray一系列骚操作

    reshape numpy.ndarray dimensions

    train_words.shape : (128,30,10)

    aa=np.reshape(train_words,(128*30*10,-1))

    output dimension: (38400,1)

    aa_squeeze = np.squeeze(aa)

    numpy.ndarray index操作

    bb=aa_squeeze[aa_squeeze>100000]

    numpy 指定连续的iteration

    iteration = np.arange(start_index, end_index, increasing_step)

    iteration = np.arange(0,iterations,1)

    随机打乱list序列,然后从其中取batchsize大小的index元素来feed进model

    start_list = list(range(0,train_data.size,args.batch_size))

    np.random.shuffle(start_list)

    其中第一行代码生成range object, which can not be called by len() or range.shape function

    os.listdir(): 输出的是相对路径。

    比如'/home/zhantiantian/images'中有'/home/zhantiantian/images/1'和'/home/zhantiantian/images/2'两个文件夹。这个函数的输出是'1' 和'2'。

    但是glob.glob(os.path.join(path_to_dir, '*.jpg'))

    输出的则是绝对路径。即文件夹中.jpg文件的绝对路径。

    print(item_id) 和item_id直接输入到命令行里是不一样的结果。

    比如item_id = '6176277’。前者的输出是6176277,而后者的输出是‘6176277‘。

    python写文件处理代码时,特别当文件夹比较多时,处理的文件数量较多时,可以采用

    print('processing {}/{}\n'.format(user_id, len(user_dirs))实时更新处理的进度

    # 参数意思分别 是从a 中以概率P,随机选择3个, p没有指定的时候相当于是一致的分布

    a1 = np.random.choice(a=5, size=3, replace=False, p=None)

    print(a1)

    # 非一致的分布,会以多少的概率提出来

    a2 = np.random.choice(a=5, size=3, replace=False, p=[0.2, 0.1, 0.3, 0.4, 0.0])

    print(a2)

    # replacement 代表的意思是抽样之后还放不放回去,如果是False的话,那么出来的三个数都不一样,如果是

    True的话, 有可能会出现重复的,因为前面的抽的放回去了。

    python knowledge graph的方法加入元素tuple list.append((1,2))其中(1,2)是一个tuple。

    def construct_kg(kg_np):

        print('constructing knowledge graph ...')

        kg = dict()

        for triple in kg_np:

            head = triple[0]

            relation = triple[1]

            tail = triple[2]

            # treat the KG as an undirected graph

            if head not in kg:

                kg[head] = []

            kg[head].append((tail, relation))

            if tail not in kg:

                kg[tail] = []

            kg[tail].append((head, relation))

        return kg

    二维numpy.ndarray如何遍历矩阵里面的元素?

    kg_np.shape: (715971, 3)

    kg_np[0]: array([0, 0, 3])

    python复制粘贴代码:

    shutil.copyfile(src,dst)#文件到文件的拷贝,其中dst必须是一个文件

    命令行输入参数选择

    import argparse

    np.random.seed(666)

    parser = argparse.ArgumentParser()

    parser.add_argument('--targetdir', type=str, default='../ACMMM2020', help='which target dir to specify')

    args = parser.parse_args()

    去除字符串中的'\u3000'

    item_name = item_name.replace(u'\u3000',u' ')

    提取某字符串'()'中间的文字内容。ps:这其中括号可以为()英文括号,或者()中文括号。用字符匹配方式

    中文括号:

    import re

    p1 = re.compile(r'[(](.*?)[)]', re.S)

    print(re.findall(p1, string))

    import re

    p1 = re.compile(r'[(](.*?)[)]', re.S)

    print(re.findall(p1, string))

    匹配两个字符串中间的数值 ('max_acc'和'max_acc'之间的数值)

    acc = re.findall(r"max_acc: (.+?)\n", result_line)

    auc = re.findall(r"max_auc(.+?),max_acc", result_line)

    相关文章

      网友评论

          本文标题:python numpy,list操作

          本文链接:https://www.haomeiwen.com/subject/jpwiyhtx.html