当值为 NaN 时合并数据帧行



我想展平一个数据帧,如下例所示。

我有下一个数据帧:

file name   format  location
0   movie1.mp4  NaN     NaN
1   NaN         NaN     D:/mymovies
2   NaN         mp4     NaN

我想将其转换为:

file name   format  location
0   movie1.mp4  mp4 D:/mymovies

知道吗?谢谢!

我相信您可以对第一列使用正向填充,如果第一个非缺失值是组的第一个值,然后GroupBy.first聚合每个组的第一个非缺失值:

df = df.groupby(df['file name'].ffill()).first().reset_index(drop=True)
print (df)
file name format     location
0  movie1.mp4    mp4  D:/mymovies

详情

print (df['file name'].ffill())
0    movie1.mp4
1    movie1.mp4
2    movie1.mp4
Name: file name, dtype: object

如果第一列为索引:

df = df.groupby(df.index.to_series().ffill()).first().reset_index()
print (df)
file name format     location
0  movie1.mp4    mp4  D:/mymovies

最新更新