import pandas as pd
# your data
# ==============================
df
sum
1948 NaN
1949 NaN
1950 5
1951 3
1952 NaN
1953 4
1954 8
1955 NaN
# processing
# ===============================
idx = df.fillna(method='ffill').dropna().index
res_idx = df.loc[idx].fillna(method='bfill').dropna().index
df.loc[res_idx]
sum
1950 5
1951 3
1952 NaN
1953 4
1954 8
4条答案
按热度按时间50pmv0ei1#
使用专门为此设计的内置
first_valid_index
和last_valid_index
并对df进行切片:ffx8fchx2#
这里有一个方法。
olmpazwi3#
下面是
Numpy
的一种方法:zwghvu4y4#
一行: