微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python:foward填充nans和0

假设我有一个数据帧df1,它有零和nans:

dates = pd.date_range('20170101',periods=20)
df1 = pd.DataFrame(np.random.randint(10,size=(20,3)),index=dates,columns=['foo','bar','see'])
df1.iloc[3:12,0] = np.nan
df1.iloc[6:17,1] = 0

什么是前进填充zeors和nans的简洁方法?我试过以下:

df1 = (df1.fillna(method='ffill',inplace=True)).replace(to_replace=0,method='ffill')

AttributeError: 'nonetype' object has no attribute 'replace'

解决方法

让我们使用replace来替换为nan的零然后填充:

df1.replace(0,pd.np.nan).ffill()

输出

foo  bar  see
2017-01-01  2.0  1.0    4
2017-01-02  2.0  2.0    6
2017-01-03  2.0  8.0    3
2017-01-04  2.0  6.0    1
2017-01-05  2.0  8.0    4
2017-01-06  2.0  9.0    6
2017-01-07  2.0  9.0    8
2017-01-08  2.0  9.0    5
2017-01-09  2.0  9.0    8
2017-01-10  2.0  9.0    7
2017-01-11  2.0  9.0    3
2017-01-12  2.0  9.0    6
2017-01-13  5.0  9.0    4
2017-01-14  6.0  9.0    9
2017-01-15  7.0  9.0    4
2017-01-16  6.0  9.0    2
2017-01-17  2.0  9.0    5
2017-01-18  3.0  1.0    1
2017-01-19  3.0  8.0    1
2017-01-20  2.0  5.0    7

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐