我有一个频率为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)
您可以isna
用来检查nan
和groupby.transform()
提取的日期df.index.normalize()
:
mask = df['Number'].isna().groupby(df.index.normalize()).transform('any')
df[~mask]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句