栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

计算文件的信息量(信息论实验一,python程序)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

计算文件的信息量(信息论实验一,python程序)

计算文件的信息量(python程序)
    • 读取文件
    • 计算信息量
    • 主函数
    • 程序
    • 举例

读取文件
def read_input():  # 读取文件成字节流
    file_path = input('please input the path of the file:')
    f = np.fromfile(file_path, dtype=np.uint8)
    return f
计算信息量
def compute_info(x):  # 计算信息量
    value = np.zeros(256)
    for i in x:
        value[i] = value[i] + 1
    p = value / x.size
    p = np.where(p == 0, 1, p)
    self_info = -np.log2(p)
    info = np.sum(p * self_info)
    return info
主函数
def main():
    x = read_input() #输入待计算信息量的文件
    info = compute_info(x)
    print(info)     #打印计算出的信息量
程序
import numpy as np

def main():
 x = read_input() #输入待计算信息量的文件
 info = compute_info(x)
 print(info)     #打印计算出的信息量

def compute_info(x):  # 计算信息量
 value = np.zeros(256)
 for i in x:
     value[i] = value[i] + 1
 p = value / x.size
 p = np.where(p == 0, 1, p)
 self_info = -np.log2(p)
 info = np.sum(p * self_info)
 return info

def read_input():  # 读取文件成字节流
 file_path = input('please input the path of the file:')
 f = np.fromfile(file_path, dtype=np.uint8)
 return f

if __name__ == '__main__':
 main()
举例

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/326075.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号