2024-05-14 18:28:54 发布
网友
我是Python新手,所以请放松
我有一个如下所示的数据帧。我想在shares_owned列中向前填充NaN,但当df['ticker']中的字符串更改时停止。并且只有当另一个号码出现在你再次拥有的股份中时才开始
例如,输出表如下所示:
到目前为止,我一直试图使用.fillna(method='ffill'),但没有任何效果
groupby()
fillna(method="fill")
transform()
df = pd.read_csv(io.StringIO("""date ticker shares_owned price 01/01/2020 EZY NaN £2 02/01/2020 EZY 10 £2.1 03/01/2020 EZY NaN £2.12 04/01/2020 EZY NaN £12.5 01/01/2020 FTSE NaN £11 02/01/2020 FTSE NaN £12 03/01/2020 FTSE 2 £12.5 04/01/2020 FTSE NaN £12.5"""), sep="\t") df["shares_owned"] = df.groupby("ticker")["shares_owned"].transform(lambda s: s.fillna(method="ffill"))
groupby()
进行分组fillna(method="fill")
在transform()
输出
相关问题 更多 >
编程相关推荐