我想按照下面的示例将数据框展平。
我有下一个数据框:
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
有什么主意吗?谢谢!
答案 0 :(得分:0)
我相信,如果第一个非缺失值是组的第一个值,然后将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