Разница между предыдущей и следующей строкой в ​​pandas дает NaN для первого значения - PullRequest
0 голосов
/ 19 апреля 2020

Я новичок в использовании Pandas, и у меня есть датафрейм df, как показано ниже


    A   B
0   4   5
1   5   8
2   6   11
3   7   13
4   8   15
5   9   30
6   10  477
7   11  3643
8   12  33469
9   13  141409
10  14  335338
11  15  365115

Я хочу получить разницу между предыдущей и следующей строкой для столбца B, который я использовал df.set_index ( 'B'). Diff (), но это дает NaN для первой строки. Как туда попасть 5?

A   B   
4   NaN
5   3.0
6   3.0
7   2.0
8   2.0
9   15.0
10  447.0
11  3166.0
12  29826.0
13  107940.0
14  193929.0
15  29777.0

1 Ответ

1 голос
/ 19 апреля 2020

Давайте сделаем

df.B.diff().fillna(df.B)
0          5.0
1          3.0
2          3.0
3          2.0
4          2.0
5         15.0
6        447.0
7       3166.0
8      29826.0
9     107940.0
10    193929.0
11     29777.0
Name: B, dtype: float64
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...