cle*_*ing 5 python numpy dataframe pandas
我有一个如下形式的数据框:
df = {'col_1': [5,4,np.nan,np.nan,1,0,1,2,np.nan,np.nan,5],
'col_2': [5,4,3,2,np.nan,np.nan,np.nan,np.nan,3,4,5]}
df = pd.DataFrame(df)
Run Code Online (Sandbox Code Playgroud)
我想“插值”但在任一侧取最小值以获得所需的结果:
df_desired = {'col_1': [5,4,1,1,1,0,1,2,2,2,5],
'col_2': [5,4,3,2,2,2,2,2,3,4,5]}
df_desired = pd.DataFrame(df_desired)
Run Code Online (Sandbox Code Playgroud)
有谁知道这样做的好方法吗?谢谢!
np.miminum这是您可以往返于ffill和 之间的一种方式bfill
out = np.minimum(df.ffill(),df.bfill())
Run Code Online (Sandbox Code Playgroud)
print(out)
col_1 col_2
0 5.0 5.0
1 4.0 4.0
2 1.0 3.0
3 1.0 2.0
4 1.0 2.0
5 0.0 2.0
6 1.0 2.0
7 2.0 2.0
8 2.0 3.0
9 2.0 4.0
10 5.0 5.0
Run Code Online (Sandbox Code Playgroud)