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

У меня есть набор данных, который выглядит следующим образом.

sample     day
1          -10
1          -9
.           .
.           .
.           .
1          10
2         -10
3         -10
.           .
.           .
.           .
3          10

Мне нужен только образец с полным периодом от -10 до 10. В этом случае образец 2 должен быть удален. Но отсутствующий период для каждой выборки различается: от -10 до 0, от -10 до -8 (количество строк для каждой выборки варьируется). Как мне написать в pandas или excel, чтобы удалить неполные образцы?

1 Ответ

0 голосов
/ 20 июня 2020

IIU C, вам нужно использовать логическое выражение, если период всегда от -10 до 10, тогда сумма этих чисел всегда должна быть 0

print(df)

   sample  day
0       1  -10
0       1   -9
0       1   -8
0       1   -7
0       1   -6
0       1   -5
0       1   -4
0       1   -3
0       1   10
.......
1       2    4
1       2    5

df1 = df[df.groupby(['sample'])['day'].transform('sum').eq(0)]

print(df1)

   sample  day
0       1  -10
0       1   -9
0       1   -8
0       1   -7
0       1   -6
0       1   -5
0       1   -4
0       1   -3
0       1   -2
0       1   -1
0       1    0
0       1    1
0       1    2
0       1    3
0       1    4
0       1    5
0       1    6
0       1    7
0       1    8
0       1    9
0       1   10
...