我的代码中有 3 个数据框……我需要将所有 3 个数据框组合成一个数据框并将其保存在 Excel 工作表中。附上以下3个数据框,我想根据asset_id创建新的数据框。
我试过如下:
import pickle
import os
frames = [a_dataframe, pandaDf, pandaDf1]
result = pd.concat(frames)
它没有用......有人可以帮助我吗
合并后的最终输出
final_df=pandaDf.append(pandaDf1, sort=True).merge(a_dataframe, on='asset_id')
final_df
final_df=pandaDf.append(pandaDf1, sort=True).merge(a_dataframe, on='asset_id')
final_df
final_df.head(10).to_dict()
您可以附加前 2 个数据帧,然后合并第 3 个数据帧,如下所示:
final_df = df1.append(df2, sort=True).merge(df3, on='asset_id')
结果:
print(final_df)
asset_id property_name property_value revision_id
0 1 HORIZON 24 314
1 1 GRANULARITY 24 314
2 2 HORIZON 48 12
3 2 GRANULARITY 24 12
4 3 HORIZON 24 24
5 3 GRANULARITY 24 24
6 4 HORIZON 24 43
7 4 GRANULARITY 48 43
要进一步制作HORIZON
和GRANULARITY
作为列标题并将它们property_value
放在列下,您可以执行pivot
以下操作:
final_df_pivoted = final_df.pivot(index=['asset_id', 'revision_id'], columns='property_name', values='property_value').rename_axis(columns=None).reset_index()
结果:
print(final_df_pivoted)
asset_id revision_id GRANULARITY HORIZON
0 1 314 24 24
1 2 12 24 48
2 3 24 24 24
3 4 43 48 24
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句