Python-如何在Pandas中将行组合成一行?(非分组方式)
我正在使用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 我真的不知道怎么做,
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)
谢谢你的帮助!