标题有点令人困惑,但我认为一个例子会让它变得清楚。
我有这个数据帧:
日期 | 信息|
---|---|
2022年7月27日 | 这是 |
NAN | an |
NAN | 示例 |
2022年7月28日 | 和这个 |
NAN | 是另一个 |
您可以在ffill
之后对Date
列执行groupby
和agg
:
df.assign(Date=df['Date'].ffill()).groupby('Date',as_index=False).agg(' '.join)
输出:
Date Info
0 27/07/2022 This is an example
1 28/07/2022 and this is another one
初始化输入
df = pd.DataFrame({
"Date": ["27/07/2022", np.NaN, np.NaN, "28/07/2022", np.NaN],
"Info": ["This is", "an", "example", "and this", "is another one"]
})
提前填写日期
df.Date = df.Date.ffill()
按日期分组并连接字符串
df.Info = df.groupby(df.Date)["Info"].transform(lambda x: ' '.join(x))
删除重复项以获得结果
df.drop_duplicates()
结果:
Date Info
0 27/07/2022 This is an example
3 28/07/2022 and this is another one