繁体   English   中英

将 Nan 替换为 pandas 中的上一行值 dataframe

[英]Replace Nan with previous row value in pandas dataframe

我有一个名为purchase_df的 dataframe,其中包含列( purchase_itempurchase_datepurchase_quantitypurchase_price_unitsales_quantity )并且purchase_price_unit的某些值是Nan (空),我需要用上个月的值替换Nan

注意:- 我看到了这个( Python pandas,将一列上的 NAN 替换为同一列上的先前值)但这里他们没有使用 group by 这是此任务中的主要问题。

为此,我尝试这样做

# grouped = purchase_df.groupby('purchase_item')
grouped = purchase_df.groupby(['purchase_item','purchase_date'])
purchase_df['purchase_price_unit'] = grouped['purchase_price_unit'].apply(lambda x: x.ffill())

在这里,我按purchase_itempurchase_date对数据进行分组,并使用ffill()来填充前几行的值,但是如果我仅使用purchase_item进行分组,即使此方法将nan替换为前几行,它也不起作用,但在这里我需要根据到purchase_itempurchase_date 帮帮我

在 groupby 对象中应用 function:

purchase_df.groupby(['purchase_item','purchase_date']).apply(lambda x: x.ffill())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM