想计算信息熵值,结果 output的是 nan
问题准备:
图为sheet_new dataframe 格式
举例:
若某甲仅在一家药店留有购药记录,其信息熵值为0,因其p=1。
若某甲在不同药店的购药金额为[10,30,60],其信息熵值为
'''-(0.1 * np.log2(0.1) + 0.3 * np.log2(0.3) + 0.6 * np.log2(0.6))''',即1.295461844238322。
思路:
#想计算每一个 Buyer 的信息熵值
#想定义 信息熵值
def infor(sheet_new):
a = sheet_new.values / 100
return sum(np.log2(a) * a * (-1))
#尝试计算BID0001 的信息熵值
print(infor(sheet_new.BID0001))
#输出结果为 nan 并有警告 但没报错
可能我的思路有误
希望大家帮忙解答
谢谢!