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

使用频率为1分钟的Python在时间序列中丢弃具有Nan值的任何一天

如何解决使用频率为1分钟的Python在时间序列中丢弃具有Nan值的任何一天

我有一个频率为1分钟的时序数据帧。我需要删除具有一个或多个nan值的任何一天。 例如,在以下df中,需要删除2012-10-15和2012-10-25天。

import pandas as pd
index=pd.date_range(start='2012-10-15',end='2012-10-25',freq='1Min')
df=pd.DataFrame(range(len(index)),index=index,columns=['Number'])
df.iloc[1]=np.nan
df.iloc[-2]=np.nan
print(df)

解决方法

您可以使用isnanan提取的日期检查groupby.transform()df.index.normalize()

mask = df['Number'].isna().groupby(df.index.normalize()).transform('any')

df[~mask]

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