Python-如何在Pandas中将行组合成一行?(非分组方式)

Python-如何在Pandas中将行组合成一行?(非分组方式),python,pandas,dataframe,Python,Pandas,Dataframe,我正在使用Pandas处理一个奇怪的数据帧: print(df) Active Dead Hold Product1 n/a n/a n/a Product2 n/a n/a n/a Product3 我想将三行合并为一行,预期输出为: Active Dead Hold Product1 Product2 Product3 我真的不知道怎么做,

我正在使用Pandas处理一个奇怪的数据帧:

print(df)

Active        Dead       Hold
Product1      n/a        n/a
n/a           Product2   n/a
n/a           n/a        Product3
我想将三行合并为一行,预期输出为:

Active        Dead       Hold
Product1      Product2   Product3

我真的不知道怎么做,谢谢你的帮助!谢谢。

假设从df的每一列中删除
NaN
会为每一列产生相同的行数,您可以在df的每一列中循环,删除
NaN
,并将其放置在新的数据帧中

df_collapsed = pd.DataFrame()
for col in df.columns:
    df_collapsed[col] = df[col].dropna().values
输出:

df_collapsed

     Active      Dead      Hold
0  Product1  Product2  Product3

这里有一个稍微快一点的替代方案:

new = df.apply(lambda x: x.dropna().values)

谢谢你的帮助!