ValueError: не удалось передать операнды вместе с фигурами (7410,) (3,) - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть 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

моя цель состоит в том, чтобы заменить nan на 100, когда Priority Mined_Category и Server, количество групповых единиц равно 1, и заменить nan на 1000, когда Priority Mined_Category и Server, количество групповых групп> 1

.

Я попробовал следующий код:

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

но я получаю ошибку ниже:

ValueError: операнды не могут передаваться вместе с фигурами (7410,) (3,)

1 Ответ

0 голосов
/ 03 сентября 2018

Требуется GroupBy.transform для возврата 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  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...