Python/Pandas:数据帧合并和填充

2024-10-01 22:30:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试根据日期合并两个Pandas数据帧,然后将ffillNaN值合并到特定日期。我有以下数据示例:

df_1:

^{tb1}$

df_2:

^{tb2}$

我使用以下行: df = pd.merge((df_1,df_2, how='left', on=['date']

我明白了:

^{tb3}$

然后我想要实现的是在df['value2']中向前填充NaN值直到05/12而不是直到07/12


Tags: 数据示例pandasdfdateonmergeleft
1条回答
网友
1楼 · 发布于 2024-10-01 22:30:56

首先,将日期转换为datetime格式以使用条件操作数。默认情况下,它将返回YYYY-MM-DD

接下来,为条件ffill05/12创建一个掩码。并使用loc表示fillna

最后,将datedatetime转换回string

df['date'] = pd.to_datetime(df["date"], format="%d/%m")
mask = (df["date"].lt(pd.to_datetime('05/12', format="%d/%m")))
df.loc[mask, "val2"] = df.loc[mask, "val2"].fillna(method="ffill")
df['date'] = df['date'].dt.strftime('%d/%m')

相关问题 更多 >

    热门问题