df = pd.DataFrame({0: [420,np.nan,455,np.nan]})df 00 420.01 NaN2 455.03 NaN4 NaN5 NaN
然后使用:
df[0].isnull().astype(int)0 01 12 03 14 15 1name: 0,dtype: int64
我明白了
df[0].fillna(method='ffill') - df[0].isnull().astype(int)0 420.01 419.02 455.03 454.04 454.05 454.0name: 0,dtype: float64
我想找到0,1,2,3,然后到最后:
解决方法 groupby,cumcountdf[0]= 420,419,455; 454,453,452
df[0].ffill() - df.groupby(df[0].notna().cumsum()).cumcount()0 420.01 419.02 455.03 454.04 453.05 452.0dtype: float64
细节
定义组
df[0].notna().cumsum()0 11 12 23 24 25 2name: 0,dtype: int64
在groupby中使用cumcount
df.groupby(df[0].notna().cumsum()).cumcount()0 01 12 03 14 25 3dtype: int64总结
以上是内存溢出为你收集整理的python – 用n-1替换缺失值全部内容,希望文章能够帮你解决python – 用n-1替换缺失值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)