为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

守着星空守着你 2021-05-30 18:04:39
我正在从未针对分析进行优化的 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.4Post  1,2   2.1         2.2         7.1      7.2Post  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.4Plant_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任何帮助将不胜感激。
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

我不得不对数据的一致性做出一些假设


from itertools import cycle

import pandas as pd


tracker = {}


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_4

Plant_A     2.1     2.2     2.3     2.4    1.1    1.2    1.3    1.4

Plant_B     7.1     7.2     7.3     7.4    6.1    6.2    6.3    6.4


查看完整回答
反对 回复 2021-06-01
  • 1 回答
  • 0 关注
  • 121 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信