比较布尔值的两个数据框列

方格

我有两个数据框,每个数据框表示实际降雨和预测降雨情况。实际降雨数据帧是恒定的,因为它是已知结果。预测降雨数据框它们在下面给出。

actul = 

index  rain
Day1   True
Day2   False
Day3   True
Day4   True

下面给出了预测的降雨数据框。该数据框根据所使用的预测模型不断变化。

prdt = 

index  rain
Day1   False
Day2   True
Day3   True
Day4   False

我正在开发上述预测模型的预测精度,如下所示:

#Following computes the number days on which raining was predicted correctly        
a = sum(np.where(((actul['rain'] == True)&(prdt['rain']==True)),True,False))  
#Following computes the number days on which no-rain was predicted correctly    
b = sum(np.where(((actul['rain'] == False)&(prdt['rain']==False)),True,False))
#Following computes the number days on which raining was incorrectly predicted 
c = sum(np.where(((actul['rain'] == True)&(prdt['rain']==False)),True,False))
#Following computes the number days on which no-rain was incorrectly predicted     
d = sum(np.where(((actul['rain'] == False)&(prdt['rain']==True)),True,False))

predt_per =  (a+b)*100/(a+b+c+d)

我上面的代码花费了太多时间来计算。有没有更好的方法来实现上述结果?

现在,下面接受的答案解决了我的上述问题。看起来我下面给出的代码有问题,因为我得到100%了所有数据帧的预测百分比。我的代码是:

alldates_df = 

index       met1_r2    useful     met1_r2>0.5
0          0.824113     True        True
1          0.903828     True        True
2          0.500765     True        True
3          0.889757     True        True
4          0.890102     True        True
5          0.893995     True        True
6          0.933482     True        True
7          0.872847     True        True
8          0.913142     True        True
9          0.901424     True        True
10         0.910941     True        True
11         0.927310     True        True
12         0.934538     True        True
13         0.946092     True        True
14         0.653831     True        True
15         0.390702     True        False
16         0.878493     True        True
17         0.899739     True        True
18         0.938481     True        True
19      -850.978703     False       False
20       -21.802518     False       False

met1_detacu = [] # Method1_detection accuracy at various settings
var_flset = np.arange(-5,1,0.01) # various filter settings
for i in var_flset:
    pdt_usefl =  alldates_df.assign(result=alldates_df['met1_r2']>i)
    x = pd.concat([alldates_df['useful'],pdt_usefl['result']],axis=1).sum(1).isin([0,2]).mean()*100
    met1_detacu.append(x)
plt.plot(var_flset,met1_detacu)

我上面的代码工作正常,但我得到了但我100%在所有varible filter settings. 这里不对劲。获得的情节:在此处输入图片说明

预期剧情是:

在此处输入图片说明

@WeNYoBen

贝尼

在您的情况下,假设索引是 df 的索引,因此我们可以使用sumafter concat,因为 True + True ==2 和 False + False ==0

pd.concat([df1,df2],axis=1).sum(1).isin([0,2]).mean()*100
25.0

更新

met1_detacu = [] # Method1_detection accuracy at various settings
var_flset = np.arange(-5,1,0.01) # various filter settings
for i in var_flset:
    pdt_usefl =  alldates_df.assign(result=alldates_df['met1_r2']>i)
    x = pd.concat([alldates_df['useful'],pdt_usefl['result']],axis=1).sum(1).isin([0,2]).mean()*100
    met1_detacu.append(x)
plt.plot(var_flset,met1_detacu)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

比较两个数据框以查找范围内的缺失值

来自分类Dev

熊猫比较两个数据框并在一列中删除匹配项

来自分类Dev

如何比较熊猫中两个数据框的值?

来自分类Dev

根据数据框中的ID比较两个数据框列

来自分类Dev

比较两个或三个数据框中的列值并合并

来自分类Dev

比较两个数据框之间的元素,并在相等的情况下添加列

来自分类Dev

根据熊猫中两列的组合比较两个数据框

来自分类Dev

Python比较两个数据框的列并生成匹配行的索引

来自分类Dev

从值不同的两个数据框中获取列

来自分类Dev

滚动浏览两个数据框并比较一列数据

来自分类Dev

使用Pandas比较两个数据框的列值

来自分类Dev

在两个数据框的列相等的情况下,分配数据框的列值

来自分类Dev

比较两个数据框列并从df1打印不常见的值

来自分类Dev

如何比较两个数据框中的日期并更新列中的值

来自分类Dev

比较两个数据框上的列

来自分类Dev

通过比较值而不是列名来合并两个数据框

来自分类Dev

基于第三个数据框中匹配值的具有新布尔值列的两个数据框的乘积

来自分类Dev

如何比较来自两个不同数据框的列并保留来自第一个数据框的值?

来自分类Dev

比较基于两个数字列的两个数据框,并找到在彼此的数字阈值内匹配的行

来自分类Dev

比较两个数据框的列,并使用Pandas返回不同列的值

来自分类Dev

比较两个数据框

来自分类Dev

比较两个数据框并输出唯一值

来自分类Dev

比较python中的两个数据框值

来自分类Dev

比较两个数据框并过滤匹配的值

来自分类Dev

如何从两个数据帧计算两列的布尔值?

来自分类Dev

R-如何比较两个数据框并更新列表列值

来自分类Dev

比较 1 个数据帧中多列的内容,并将布尔值输出到第二个数据帧

来自分类Dev

比较两个数据框并替换列值

来自分类Dev

比较两个数据框列

Related 相关文章

  1. 1

    比较两个数据框以查找范围内的缺失值

  2. 2

    熊猫比较两个数据框并在一列中删除匹配项

  3. 3

    如何比较熊猫中两个数据框的值?

  4. 4

    根据数据框中的ID比较两个数据框列

  5. 5

    比较两个或三个数据框中的列值并合并

  6. 6

    比较两个数据框之间的元素,并在相等的情况下添加列

  7. 7

    根据熊猫中两列的组合比较两个数据框

  8. 8

    Python比较两个数据框的列并生成匹配行的索引

  9. 9

    从值不同的两个数据框中获取列

  10. 10

    滚动浏览两个数据框并比较一列数据

  11. 11

    使用Pandas比较两个数据框的列值

  12. 12

    在两个数据框的列相等的情况下,分配数据框的列值

  13. 13

    比较两个数据框列并从df1打印不常见的值

  14. 14

    如何比较两个数据框中的日期并更新列中的值

  15. 15

    比较两个数据框上的列

  16. 16

    通过比较值而不是列名来合并两个数据框

  17. 17

    基于第三个数据框中匹配值的具有新布尔值列的两个数据框的乘积

  18. 18

    如何比较来自两个不同数据框的列并保留来自第一个数据框的值?

  19. 19

    比较基于两个数字列的两个数据框,并找到在彼此的数字阈值内匹配的行

  20. 20

    比较两个数据框的列,并使用Pandas返回不同列的值

  21. 21

    比较两个数据框

  22. 22

    比较两个数据框并输出唯一值

  23. 23

    比较python中的两个数据框值

  24. 24

    比较两个数据框并过滤匹配的值

  25. 25

    如何从两个数据帧计算两列的布尔值?

  26. 26

    R-如何比较两个数据框并更新列表列值

  27. 27

    比较 1 个数据帧中多列的内容,并将布尔值输出到第二个数据帧

  28. 28

    比较两个数据框并替换列值

  29. 29

    比较两个数据框列

热门标签

归档