我想展平一个数据帧,如下例所示。
我有下一个数据帧:
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