从单个datafram在单个数据帧中组合多列

2024-04-24 04:06:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框,它由多个列组成,比如“Load\u Node\u Values,Load\u KV\u Values,Load\u Node\u Values,Load\u KV\u Values,Load\u p\u ST\u Values,Load\u ST\u Values,G\u Node\u Values,G\u KV\u Values,G\u ST\u Values,Line\u Node\u Values,Line\u KV\u Values,Line\u ST\u Values,Line\u p\u Values,T\u ST\u Values,加载\u P \u ST \u值、加载\u ST \u值、G \u节点\u值 “G泳u KV泳u值、G泳P泳u ST泳u值、G泳u ST泳u值、线路泳u节点泳u值、线路泳u P泳u值、线路泳u ST泳u值、T泳u节点泳。所有这些列都有数值和字符串值。我想把 将\u Node \u值、G \u Node \u值、Line \u Node \u值和T \u Node \u值加载到一个单独的列“new name”中,类似地,将其他列也加载到另一个新列名中。你知道吗

This is how the dataset looks like

我用了框架,把所有要合并的列放在一起。在代码中,我显示了frame_node、frame_KV、frame_P、frame_ST,并将所有列名称放在这些框架中,如代码所示。你知道吗

frame_KV=[df1['Load_KV_Values'],df2['G_KV_Values'],df3['Line_KV_Values'],df4['T_KV_Values']]
frame_P=[df1['Load_P_ST_Values'],df2['G_P_ST_Values'],df3['Line_P_ST_Values'],df4['T_P_ST_Values']]
frame_ST=[df1['Load_ST_Values'],df2['G_ST_Values'],df3['Line_ST_Values'],df4['T_ST_Values']]

frames=[frame_node,frame_KV,frame_P,frame_ST]

result_nodes=pd.concat(frames)

这是我从课文中得到的错误。 TypeError:无法连接“”类型的对象;仅pd系列, pd.数据帧,和pd.面板(已弃用)对象有效“


Tags: 数据node节点lineloadframe线路pd
2条回答

有一个Series列表,所以对Series列表进行展平:

result_nodes=pd.concat([y for x in frames for y in x])

或者可能首先需要concat byaxis=1fr eacj list,然后默认情况下axis=0(应该省略):

result_nodes=pd.concat(pd.concat([x for x in frames], axis=1))
frame_1=df1[['Load_KV_Values','Load_P_ST_Values','Load_ST_Values']]
frame_2= df2[['G_P_ST_Values','G_KV_Values','G_ST_Values']]
frame_3=df3[['Line_KV_Values','Line_ST_Values','Line_P_ST_Values']
frame_4 = df4[['T_KV_Values','T_P_ST_Values','T_ST_Values']
result_nodes = pd.concat([frame_1, frame_2, frame_3, frame_4], axis =1)

请按以下方法检查,因此请验证所有四个数据帧是否具有相同的行数。 投赞成票

相关问题 更多 >