我是python新手,python中的数组有问题。所以我有一个这样的数据列表,我给这个列表的变量名是fitur:
[['F11', '1', '0', '0'], ['F2', '1', '1', '0'], ['F4', '1', '0', '0']]
然后我有一个条件positif和negatif的概率,在索引[0]属于F11
中,索引[1]属于F2
,索引[2]属于F4
Here is positif (bpf_pos)
[0.42857142857142855, 0.5714285714285714, 0.5714285714285714]
and here is negatif (bpf_neg)
[0.14285714285714285, 0.2857142857142857, 0.2857142857142857]
我有一个公式:
f_pd_neg = (bpf_neg[i] ** float(uji[1])) * ((1 - bpf_neg[i]) ** (1 - float(uji[1])))
f_pd_pos = (bpf_pos[i] ** float(uji[1])) * ((1 - bpf_pos[i]) ** (1 - float(uji[1])))
所以这是我的问题,我想用fitur计算公式中的概率。举个例子
bpf_neg[0] ** 1 (from the list in F11) * ((1- bpf_neg[0] ** (1 - 1)
依此类推,直到列表F11中的值结束
我的预期结果是这样的
Positif is:
0 [0.571428571,0.571428571,0.428571429]
1 [0.428571429,0.571428571,0.571428571]
2 [0.571428571,0.428571429,0.428571429]
Negatif is:
0 [0.285714286,0.285714286,0.714285714]
1 [0.142857143,0.857142857,0.857142857]
2 [0.285714286,0.714285714,0.714285714]
这是我的密码:
d_neg = []
d_pos = []
for i, uji in enumerate(ab):
f_pd_neg = (bpf_neg[i] ** float(uji[1])) * ((1 - bpf_neg[i]) ** (1 - float(uji[1])))
f_pd_pos = (bpf_pos[i] ** float(uji[1])) * ((1 - bpf_pos[i]) ** (1 - float(uji[1])))
d_pos.append(f_pd_pos)
d_neg.append(f_pd_neg)
我试过float(uji[1:])
我得到了错误TypeError: float() argument must be a string or a number
我该怎么修?我希望你能理解,因为我的英语很糟糕
@RazBarb试试这个,我想我明白了,结果是一样的
输出
每列乘以10后输出
相关问题 更多 >
编程相关推荐