【python 学习】知识点日记

python 日记

【NO.1】a.astype(bool)==False与a.astype(bool) time:2021-04-14 22

import numpy as np

a = np.array([1,0,1])

b = a.astype(bool)==False # [False True False]

这一个是将a转换为bool之后与False进行比较,跟False值一样的标记为True,否则为False

b = a.astype(bool) # [ True False True] 直接将a 的值转换为bool

【NO.2】import 相关 time:2021-06-20

  1. from .data import func1,func2

    从当前目录下的data.py导入函数 func1,func2

  2. from …consts import *

    从当前目录下的上一级目录的consts.py导入所有

在这里插入图片描述

【NO.3】PSNR(峰值信噪比) time:2021-06-20

在这里插入图片描述

import torch
import numpy as np
def psnr_compute(img_batch, ref_batch, batched=False, factor=1.0):
    """Standard PSNR."""
    def get_psnr(img_in, img_ref):
        mse = ((img_in - img_ref)**2).mean()  # 均方差
        if mse > 0 and torch.isfinite(mse):
            return (10 * torch.log10(factor**2 / mse)).item()  # psnr峰值信噪比
        elif not torch.isfinite(mse):
            return float('nan')
        else:
            return float('inf')

    if batched:
        psnr = get_psnr(img_batch.detach(), ref_batch)
    else:
        [B, C, m, n] = img_batch.shape
        psnrs = []
        for sample in range(B):
            psnrs.append(get_psnr(img_batch.detach()[sample, :, :, :], ref_batch[sample, :, :, :]))
        psnr = np.mean(psnrs)

    return psnr


【NO.4】pycharm指定下载源

在这里插入图片描述> pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

【NO.5】函数篇

hasattr() 函数用于判断对象是否包含对应的属性
如果存在,返回true ;
否则返回false ;

// : 表示向下取整
/ : 表示传统除法

INF : 表示无穷大
NAN : 表示 not a number 不是一个数常出现在梯度爆炸;

【NO.6】pytorch

  1. torch.clamp(input, min, max)
    将input 限制在 min 到 max 之间
    用于将(0-255)转为 (0-1)

【NO.7】爬虫文件保存

### 保存问表格的形式

+ 先创建表格
+ 写入表头



1. 使用列表存储信息
2. 每次将单次的信息再存储到大列表里



​	

```python
# 创建一个workbook 设置编码
workbook = xlwt.Workbook(encoding = 'utf-8')
# 创建一个worksheet
worksheet = workbook.add_sheet('MyWorksheet')

# 写入excel

# 先写表头
rowCount = 0
worksheet.write(rowCount, 0, '专业介绍id 主键')
worksheet.write(rowCount, 1, '大类id')
worksheet.write(rowCount, 2, '名称')
worksheet.write(rowCount, 3, '专业代码')
worksheet.write(rowCount, 4, '本科/专科')
worksheet.write(rowCount, 5, '修学年限')
worksheet.write(rowCount, 6, '授予学位')
  • 出循环后将信息写入到表格里

    keyIndex = 2 #主键下标从2开始
        for item in onePageItems:
            result = []
            result.append(keyIndex)
            result.append(item['level3_name']) # 专业大类
            result.append(item['name']) # 名称
            result.append(item['spcode']) # 专业代码
            result.append(item['level1_name']) # 本科/专科
            result.append(item['limit_year']) # 修学年限
            result.append(item['degree']) # 授予学位
            totalResult.append(result)
            keyIndex += 1	
    

    这里出循环之后,遍历大列表,将文件写入到表格里

            
     for result in totalResult:
            rowCount += 1
            worksheet.write(rowCount, 0, result[0])
            worksheet.write(rowCount, 1, result[1])
            worksheet.write(rowCount, 2, result[2])
            worksheet.write(rowCount, 3, result[3])
            worksheet.write(rowCount, 4, result[4])
            worksheet.write(rowCount, 5, result[5])
            worksheet.write(rowCount, 6, result[6])
    
    

最后将工作表进行保存

workbook.save('Excel_test.xls')
posted @ 2022-05-02 19:41  jucw  阅读(31)  评论(0编辑  收藏  举报