группы данных панд проверяют количество уникальных значений столбца на единицу, но исключают пустые строки - PullRequest
0 голосов
/ 30 января 2019

У меня есть следующие df,

id    invoice_no
1     6636
1     6637
2     6639
2     6639
3     
3    
4     6635
4     6635
4     6635

invoice_no для id 3 - все пустые строки или пробелы;Я хочу

df['same_invoice_no'] = df.groupby("id")["invoice_no"].transform('nunique') == 1

, но также считаю пробелы и пустую строку invoice_no в каждой группе same_invoice_no = False;Мне интересно, как это сделать.Результат будет выглядеть так:

id    invoice_no    same_invoice_no
1     6636          False
1     6637          False
2     6639          True
2     6639          True
3                   False
3                   False
4     6635          True
4     6635          True
4     6635          True

1 Ответ

0 голосов
/ 30 января 2019

Пустые строки равны True, но NaNs нет.Замените пустые строки на Numpy nan

df.replace('', np.nan, inplace = True)
df['same_invoice_no'] = df.groupby("id")["invoice_no"].transform('nunique') == 1

    id  invoice_no  same_invoice_no
0   1   6636.0      False
1   1   6637.0      False
2   2   6639.0      True
3   2   6639.0      True
4   3   NaN         False
5   3   NaN         False
6   4   6635.0      True
7   4   6635.0      True
8   4   6635.0      True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...