我有一个Pandas 数据集,我想计算一个列元素与同一列的另一个元素之间的差异.为此,最直观的方法是.diff()
到目前为止,一切顺利.问题是,我的列包含nan
个值,但没有特定的顺序模式,如下面一个名为col
的列的示例:
| col |
|-----|
0 | 1 |
1 | NaN |
2 | 3 |
3 | 4 |
4 | NaN |
5 | NaN |
6 | 10 |
7 | NaN |
8 | 13 |
我想做的是应用.diff()
方法only to the preceding numerical values of the column,这样预期的答案是:
| col |
|-----|
0 | NaN |
1 | NaN |
2 | 2 |
3 | 1 |
4 | NaN |
5 | NaN |
6 | 6 |
7 | NaN |
8 | 3 |
如果它是nan
个值的周期顺序,我可以使用.diff()
方法的periods
参数,如here所解释的.然而,鉴于nan
个值以随机顺序出现,我想知道如何才能做到这一点?