ValueError:操作数无法与形状(7410,)(3,)一起广播

2024-07-02 14:05:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个df,格式如下:

    Priority Mined_Category           server date_reported  Count Zscore_Volume
1 - Critical   Memory issue        xxxxxx111    2018-07-11      1      nan
1 - Critical   Memory issue        xxxxxx111    2018-08-11      1      nan
1 - Critical   Memory issue        yyyyyy195    2018-07-06      1      1.71
1 - Critical   Memory issue        yyyyyy195    2018-07-08      1      1.71
    2 - High   Memory issue  abcabcabcba1410    2018-08-21      1     nan

我的目标是当PriorityMined_CategoryServergroupby计数为1时,用100替换nan;当PriorityMined_CategoryServergroupby计数大于1时,用1000替换nan

我试过以下代码:

> df_aggegrate_Volume.loc[(df_aggegrate_Volume.groupby(["Priority","Mined_Category","server"]).count()>1)&(df_aggegrate_Volume['Zscore_Volume'].isnull()) ,"Zscore_Volume"]= -100

但我得到以下错误:

ValueError: operands could not be broadcast together with shapes (7410,) (3,)


Tags: dfserverissuenanmemoryprioritycategoryvolume
1条回答
网友
1楼 · 发布于 2024-07-02 14:05:40

需要^{}返回Series,大小与原始df相同,由聚合值填充:

m1 = (df_aggegrate_Volume.groupby(["Priority","Mined_Category","server"])["server"]
                         .transform('count')>1)

m2 = df_aggegrate_Volume['Zscore_Volume'].isnull()

df_aggegrate_Volume.loc[m1 & m2 ,"Zscore_Volume"]= -100

print (df_aggegrate_Volume)
       Priority Mined_Category           server date_reported  Count  \
0  1 - Critical   Memory issue        xxxxxx111    2018-07-11      1   
1  1 - Critical   Memory issue        xxxxxx111    2018-08-11      1   
2  1 - Critical   Memory issue        yyyyyy195    2018-07-06      1   
3  1 - Critical   Memory issue        yyyyyy195    2018-07-08      1   
4      2 - High   Memory issue  abcabcabcba1410    2018-08-21      1   

   Zscore_Volume  
0        -100.00  
1        -100.00  
2           1.71  
3           1.71  
4            NaN  

相关问题 更多 >