[英]How to forward propagate/fill a specific value in a Pandas DataFrame Column/Series?
[英]Forward fill in pandas dataframe based on specific label in a column
我需要向前感受特定標簽內的數據(其中在其他列中定義的標簽:
LABEL | Col1 | ffil_col |
-------------------------
1 | N | female |
1 | M | |
2 | A | |
2 | N | male |
2 | M | |
需要這樣的:
LABEL | Col1 | ffil_col |
-------------------------
1 | N | female |
1 | M | female |
2 | A | |
2 | N | male |
2 | M | male |
到目前為止,我唯一的想法是按標簽使用groupby
,然后ffill
每個組,然后再將所有內容ffill
。 是否有其他更明確的解決方案?
您可以在groupby上使用transform
,它的長度與原始數據幀的長度相同。
df['ffil_col'] = df.groupby('LABEL').ffil_col.transform(lambda group: group.ffill())
>>> df
LABEL Col1 ffil_col
0 1 N female
1 1 M female
2 2 A NaN
3 2 N male
4 2 M male
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.