将Pandas DataFrame的各个部分重塑为多种格式

我正在从未针对分析进行优化的 PDF 中导入数据。


数据已导入以下数据框中


NaN   NaN   Plant_A     NaN     Plant_B      NaN   

Pre   1,2   1.1         1.2         6.1      6.2   

Pre   3,4   1.3         1.4         6.3      6.4

Post  1,2   2.1         2.2         7.1      7.2

Post  3,4   2.3         2.4         7.3      7.4

我想将其重组为以下形式:


            Pre_1   Pre_2   Pre_3   Pre_4  Post_1   Post_2   Post_3   Post_4  

Plant_A       1.1     1.2     1.3     1.4     2.1      2.2      2.3      2.4

Plant_B       6.1     6.2     6.3     6.4     7.1      7.2      7.3      7.4

我首先用逗号分割第二列,然后将它与第一列结合起来给我Pre_1,Pre_2例如。但是,我一直很难将其与其余各列中的数据进行匹配。例如,Pre_1有1.1 和Pre_2有1.2


任何帮助将不胜感激。


守着星空守着你
浏览 122回答 1
1回答

HUH函数

我不得不对数据的一致性做出一些假设from itertools import cycleimport pandas as pdtracker = {}for temporal, spec, *data in df.itertuples(index=False):  data = data[::-1]  cycle_plant = cycle(['Plant_A', 'Plant_B'])  spec_i = spec.split(',')  while data:    plant = next(cycle_plant)    for i in spec_i:      tracker[(plant, f"{temporal}_{i}")] = data.pop()pd.Series(tracker).unstack()         Post_1  Post_2  Post_3  Post_4  Pre_1  Pre_2  Pre_3  Pre_4Plant_A     2.1     2.2     2.3     2.4    1.1    1.2    1.3    1.4Plant_B     7.1     7.2     7.3     7.4    6.1    6.2    6.3    6.4
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python